[Delphi, MySql] Problem z kodowaniem znaków

0

Mam program napisany w Delphi korzystający z bazy MySql (ADO > ODBC > MySQL).

Niestety musiałem przeinstalować system. Po zakończeniu reinstalacji postawiłem zpowrotem bazę MySql z dokładni etakim samym konfigiem (kodowanie latin1).

Teraz dane w bazie podgądane przez MySql Administrator wyglądają dobrze, program odczytuje dane dobrze (z polskimi znakami), program nie był w między czasie modyfikowany, źródło danych ODBC jest tak samo ustawione jak przed reinstalacją.

Jedyny mój problem to ten że program nie chce zapisywać do bazy! Wskazuje na bład w miejscu wystąpienia któregokolwiek z polskich znaków, np.

[MySQL][ODBC 5.1 Driver][mysqld-5.1.34-community]Incorrect string value: '\xC4\x85ski' for column 'ulica' at row 1.

ulica 'Gąski', problem z zapisaniem 'ą'.

Jestem w dramatycznej sytuacji, muszę dopisać nową funkcjonalność a nie mogę tego przetestować. Piszę w ciemno na wyczucie [glowa]

O co tu chodzi?

0

Naprawdę nikt nie zna rozwiązania mojego problemu?

Może ktoś chociaż spróbuje strzelić?

0
AngelEyes napisał(a)

Naprawdę nikt nie zna rozwiązania mojego problemu?

Może ktoś chociaż spróbuje strzelić?

Na pewno masz dobrze ustawiony komponent do obsługi MySQL?
Na pewno w bazie danych masz ustawione takie samo kodowanie jak w komponencie?
(czysty strzał)

0

Część programu odpowiedzialna za obługę bazy nie była modyfikowana. Baza została zainstalowana z identycznymi ustawieniami (instalowałem zgodnie z tą samą instrukcją).

Dodam że program po skompilowaniu działa bez problemu na docelowej maszynie. Problem jest tylko na moim laptopie na którym go piszę.

0
AngelEyes napisał(a)

Część programu odpowiedzialna za obługę bazy nie była modyfikowana. Baza została zainstalowana z identycznymi ustawieniami (instalowałem zgodnie z tą samą instrukcją).

Dodam że program po skompilowaniu działa bez problemu na docelowej maszynie. Problem jest tylko na moim laptopie na którym go piszę.

Jak na moje oko, to problem z Twoim laptopem. Raczej nie problem programistyczny.

0

Ostatecznie udało mi się potwierdzić że problem leży w skopanej instalacji MySQL na moim laptopie. Wszędzie indziej baza działa. Niestety nie wiem gdzie dokładnie jest problem. Reinstalacje na różne sposoby nic nie pomogły. Chyba będę musiał przeinstalować system.

Dzięki za wszystkie sugestie. Pozdrawiam

0

Jeżeli dobrze rozumiem, to problem dotyczy zaimportowanej bazy danych do nowej instalacji MySQL. Pytanie pierwsze, czy MySQL, czy MySQL w Krasnal? Jeżeli MySQL, to prosze w Administratorze, we właściwościach tabeli (Edit Table) wybrać dolną zakładkę Column Details i w kolumnach ustawić właściwości Column Charset na UTF-8 a w Column Collate UTF-8 polish. Pomimo, iż tabela ma własności językowe UTF-8, należy ustawić język dla każdej z poszczególnych kolumn. Ta opcja jest dostepna dopiero od wersji 5 My SQL.

Pozdrawiam i powodzenia.

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