Mysql latin1 турецкие данные и delphi 2010 utf8 - PullRequest
0 голосов
/ 24 апреля 2010

У меня есть таблицы, сопоставляющие 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.

извините за мой плохой английский. Я надеюсь, что кто-то понимает меня.

спасибо.

1 Ответ

0 голосов
/ 25 апреля 2010

Я предложу перейти на сторонние решения, такие как AnyDAC . AnyDAC поддерживает следующие функции MySQL:

  • Обычные и встроенные серверы.
  • SSL-соединения.
  • типы данных ENUM, SET и т. Д.
  • UTF8 и т. Д. Кодировки символов.
  • AUTO_INCREMENT столбцы.
  • MySQL 5 хранимых процедур.
  • Пакетные команды с несколькими наборами результатов.
  • Выполнение запроса прерывается.
  • Array DML.
...