У меня есть таблицы, сопоставляющие latin1_general_ci и турецкие символы. И я могу использовать эти данные на Delphi 7 + Zeos без проблем. но я хочу обновить мой Delphi до версии 2010 года, но Zeos слишком медленно, как я видел. поэтому я хочу использовать odbc + ado или dbexpress.
Решение dbexpress работает нормально, отображает мои данные как введенные и записывает как введенные таблицы без каких-либо изменений в колонке charset. но у dbexpress есть проблемы, как я видел. например, когда я выбираю * из таблицы, которая имеет типы столбцов, такие как varchar, decimal, int, tinyint, text выдают ошибки av в системах XP. Vista и 7 не дают никаких ошибок и работают нормально (не полностью проверены).
в трассировке нарушения доступа систем XP есть
трассировка отладки нарушения доступа
| 7C9010E0 | ntdll.dll | | | RtlLeaveCriticalSection | |
| 7E419239 | USER32.dll | | | CharUpperBuffW | |
| 7E419216 | USER32.dll | | | CharUpperBuffW | |
| 7C80CED0 | kernel32.dll | | | LCMapStringW | |
| 7C910380 | ntdll.dll | | | RtlImageNtHeader | |
| 7C903247 | ntdll.dll | | | RtlConvertUlongToLargeInteger | |
| 7C90E485 | ntdll.dll | | | KiUserApcDispatcher | |
| 009A631E | Project1.exe | Unit1.pas | TForm1 | Button1Click | 110 [37] |
ado solution (dbgo) работает нормально, но мои данные не отображаются как введенные. Они хотят, чтобы все было в порядке. но я не хочу преобразовывать свои данные в utf перед тем, как все проверить. Как я могу увидеть мои данные как введенные и записать на стороне клиента UTF и сохранить Latin1 (как Zeos или Dbexpress).
я пробовал много других вариантов. например. Параметры сопоставления и кодировки в MySQL.
извините за мой плохой английский. Я надеюсь, что кто-то понимает меня.
спасибо.