Problem z kodowaniem UTF8 w TDBGrid i TEdit

0

Mam tablice w MySQL System kodowania jest utf8. Mam programy napisane w Delphi 6 i Visual Studio 2010 które korzystają z tych samych tabel.

W Visual Studio wszystko zapisuje się poprawnie do bazy i polskie litery są prawidłowo wyświetlane w programie i edytorze MySQL (źle się wyświetlają w programie w D6).

Problem chyba jest w programie napisanym w Delphi 6. Napisane w nim polskie litery w programie wyświetlają się poprawnie, ale już w edytorze MySQL nie i oczywiście nie wyświetlaną się również w programie w VS.

Problem z kodowanie jest dla mnie nowy. Naczytałem się teraz sporo, ale jak zmienić system kodowania Delphi w TDBGrid i np TEdit nie mam pojęcia. Nie chodzi mi o zamianę systemu który jest w D6 na utf8 bo z zamianą polskich znaków nie było by problemy. Jednak taka zamiana nie rozwiąże problemu prawidłowego wyświetlania w gridzie -można w locie zamieniać znaki, ale może szkoda pracy i czasu, to musi byś jakaś zmiana globalna.

Bardzo proszę o pomoc

0

No faktycznie, tylko teraz wychodzi na to, że jak w MySQL Query Browser wpisałem:

SET CHARSET 'utf8'

Wszystkie litery zrobiły się 'krzaczaste' i te z D6 i te z VS. Wychodzi na to, że sam nie wiem jak zapisane były te dane -w jakim systemie kodowania.

W Delphi wstawiłem:

'SET CHARSET ' + QuotedStr('utf8')

i próba dodania rekordu ze słowem "Płyta" zakończyło się błędem. Tak zamienił tą literę "ł", że cuda wyszły.

Muszę doczytać jeszcze, ale [chyba|raczej|na pewno] kierunek jak najbardziej prawidłowy. Muszę dojść jak dane są obecnie zapisane :)

Dziękuję za pomoc.

0

U mnie wszystko działa kiedy w delphi tak jak napisałeś, po połączeniu z bazą wysyłam polecenie:

SET NAMES cp1250

Polskie znaki zamieniły się na '?' i ręcznie trzeba było je poprawiać. Nie dało się automatycznie bo wszystkie polskie znaki miały kod znaku '?', ale problem rozwiązany :)

Dziękuję za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1