Delphi 5, как получить данные из полей MySQL tis620?
У меня есть веб-приложение, написанное на PHP, которое использует MySQL в качестве базы данных.
Для хранения данных моего языка (тайского) я использую кодировку tis620 в своих таблицах базы данных, в настоящее время этот параметр отлично подходит для моего веб-приложения.
Я собираюсь написать приложение Windows для доступа к той же базе данных, что и мое веб-приложение, но я столкнулся с проблемой получения данных из полей tis620.
Это сортировка по умолчанию моей таблицы, используя tis620
В целях тестирования я настроил параметры сортировки поля eng для использования utf8
Я вставил один образец записи в таблицу
Я использую MySQL Connector/ODBC 5.1 Oracle в качестве драйвера ODBC, и попробовал обе установки как utf8 и tis620
Я использую Delphi 5, TTable для подключения таблицы базы данных
- поле (поля) с utf8 может быть восстановлено
поля (поля) с tis620 (по умолчанию таблицы) не могут быть получены
- Хотя, используя Field Editor для создания всех полей, я мог получить только utf8 field(s).
Пожалуйста, дайте мне несколько советов, tis620 лучше всего подходит для моего веб-приложения на данный момент, если я преобразовал поля в utf8, я решу эту проблему, но вместо этого у меня будет проблема с моим веб-приложением.
Итак, как использовать компонент доступа к данным BDE (TTable, TQuery) для извлечения данных из поля (полей) tis620?
Пожалуйста помоги.
Спасибо всем.
1 ответ
Вы использовали "тайский" в качестве языка для приложений, не поддерживающих Юникод, в настройках Windows? Приложения Delphi 5 могут очень хорошо работать с тайским и английским языками одновременно. Из коробки нельзя смешивать кодировки. Но я подозреваю, что вам не нужен полный Unicode, только для отображения тайского и английского контента.
Затем установите кодовую страницу Win-874 в вашем драйвере ODBC.
Или вы можете перейти с устаревшего BDE на более новую библиотеку. Если вы придерживаетесь Delphi 5, я рекомендую протестировать FreeDAC, который изначально поддерживает:
- Oracle v 8.0.3 и выше;
- MySQL v 3.23 и выше;
- MSSQL v 2000 и выше;
- MSAccess v 2000 и выше;
- IBM DB2 UDB v 8 и выше;
- Sybase ASA v 8 и выше.
Конечно, эта библиотека устарела (в пользу эволюции AnyDAC/FireDAC), но это AFAIK - одно из лучших решений для Delphi 5. И оно бесплатное, с исходниками. И ИМХО, это гораздо предпочтительнее любых компонентов на основе ADO, в мире Delphi.
Если вы используете FreeDAC, вам не нужно настраивать ODBC (и, конечно, BDE), поскольку он обеспечивает прямой доступ к MySQL.