Problem z kodowaniem UTF8 w TDBGrid i TEdit

Problem z kodowaniem UTF8 w TDBGrid i TEdit
artura4
  • Rejestracja:ponad 17 lat
  • Ostatnio:25 dni
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

edytowany 1x, ostatnio: artura4
_13th_Dragon
  • Rejestracja:prawie 20 lat
  • Ostatnio:16 dni
0

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
edytowany 1x, ostatnio: _13th_Dragon
artura4
  • Rejestracja:ponad 17 lat
  • Ostatnio:25 dni
0

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

Kopiuj
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:

Kopiuj
'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.

edytowany 4x, ostatnio: flowCRANE
flowCRANE
Używaj znaczników kolorujących składnię, są zarówno do SQL, jak i do Delphi;
artura4
  • Rejestracja:ponad 17 lat
  • Ostatnio:25 dni
0

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

Kopiuj
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 :)

edytowany 1x, ostatnio: artura4

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.