Witam,
napisałem programik który dodaje wpisy do bazy danych lecz nie dodaje polskich znaków :( kodowanie w bazie to utf-8. Jak mam to zrobić ??
Ja wiem, że lenistwo ponad wszystko, ale żeby nawet pytania nie napisać porządnie ...
Może byś tak zaczął od
- jaka baza
- jak się łączysz
- jakieś zapytanie
- trochę kodu
jest to baza danych na serwerze na którym mam swoją stronę www (mySQL 4.1.22)
rekordy dodaję w ten sposób:
SQL.CommandText := 'INSERT INTO tabela VALUES("", "'+tekst+'", '+inttostr(aut)+' )';
SQL.ExecSQL;
Skoro baza jest w UTF8, to z powyższego zapytania tekst też musisz skonwertować na UTF8 (IntToStr(aut) nie musisz, bo kody zwracanych znaków są takie same dla większości kodowań, w tym UTF8).
a jak to zrobić ??
Nawet do helpa Delphi nie zajrzałeś pod hasła zaczynające się od UTF8? :/ Jeśli znacznie starsze Delphi to może nie być i musisz użyć własnych lub zewnętrznych funkcji.
Jest tam masa funkcji do operowania tym kodowaniu, w tym UTF8Encode oraz AnsiToUtf8, zależnie na czym operujesz. Wysil się czasem. Forum jest, by poradzić sobie jak utkniesz, a nie szukać za ciebie.
http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
ew do mysql 4.1 http://dev.mysql.com/doc/refman/4.1/en/charset-connection.html
Szczawik po co tyle roboty sobie robić?
Ile roboty? Jedna funkcja.
Pyta w dziale Delphi, więc przyjąłem, że nie ma wpływu na RDBMS.
ale to się robi po stronie klienta - robisz zapytanie po połączeniu i dopóki się nie rozłączysz to masz ustawione kodowanie klienta
No tak, nie zerknąłem na linki. Masz rację. Twój sposób rzeczywiście jest lepszy.
ja wiem że powinienem zadać to pytanie znając na nie odpowiedź :( ale niestety nadal niewiem jak mam to zrobić próbowałem funkcji UTF8Encode i UTF8toAnsi i nic, zapisywały mi sie jakieś krzaczki tylko
Pys1986 napisał(a)
ja wiem że powinienem zadać to pytanie znając na nie odpowiedź :( ale niestety nadal niewiem jak mam to zrobić próbowałem funkcji UTF8Encode i UTF8toAnsi i nic, zapisywały mi sie jakieś krzaczki tylko
i oczywiście odwiedziłeś linka, którego podałem, zrobiłeś tak i nie pomogło ...
Poza tym, kto mówił o funkcji UTF8toAnsi? Ja pisałem o AnsiToUTF8, czyli konwersji w drugą stronę. Rzecz jasna, pod linka nie zajrzałeś :/
zajrzałem i nic nie pomogło
a czy oprócz zajrzenia cokolwiek zrobiłeś?
nieznam aż tak dobrze angielskiego. DZIEJKUJE ZA POMOC ALE PROSIŁ SIE NIE BEDE !!