Mysql latin1 турецкие данные и delphi 2010 utf8

0

У меня есть таблицы, сопоставляющие latin1_general_ci и имеющие значения символов в турецком языке. И я могу использовать эти данные на delphi 7 + zeos без проблем. но я хочу обновить свою версию delphi до версии 2010 года, но слишком медленно, как я видел. поэтому я хочу использовать решение odbc + ado или dbexpress.

Решение dbexpress отлично работает, отображает мои данные как введенные и записывает как введенную таблицу без каких-либо изменений в charset столбца. но у dbexpress есть проблемы, как я видел. например, когда я выбираю * из таблицы, которая имеет типы столбцов как varchar, decimal, int, tinyint, текст дает 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 (dbgo) отлично работает, но оно не показывает мои данные как введенные. it хотят, чтобы все было utf. но я не хочу преобразовывать свои данные в utf перед тестированием всего. как я могу увидеть мои данные как введенные и написать utf на стороне клиента и сохранить latin1 (как это делают zeos или dbexpress).

Я попробовал много других опций. например. параметры сопоставления сторон и mysql.

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

спасибо.

  • 0
    Я не понимаю вашу ситуацию, но вы пытались установить набор символов соединения с помощью SET NAMES ? Кроме того, вы должны описать сообщения об ошибках, которые вы получаете.
  • 0
    да пробовал. но мои данные в формате latin1. и его включают турецкие символы. без преобразования набора имен не работает полностью. если вы используете набор имен, вы не можете искать турецкие символы. в UTF вы можете сделать. но без полного теста я не хочу конвертировать мои данные в UTF
Показать ещё 4 комментария
Теги:
utf-8
ado
dbexpress

1 ответ

0

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

  • Стандартные и встроенные серверы.
  • SSL-соединения.
  • ENUM, SET и т.д.
  • UTF8 и т.д. кодировки символов.
  • Столбцы AUTO_INCREMENT.
  • MySQL 5 хранимых процедур.
  • Пакетные команды с несколькими наборами результатов.
  • Отмена выполнения запроса.
  • Массив DML.
  • 0
    Я попробовал пробную версию. с AnyDac Soluiton я должен преобразовать все мои данные в UTF перед использованием. как я могу видеть раньше, это действительно быстро. но я предпочитаю соулмент с открытым исходным кодом. Теперь я использую Delphi 7 + Zeos + MySQL, кроме Delphi все с открытым исходным кодом. еще раз спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню