【发布时间】:2013-04-13 15:48:15
【问题描述】:
我有一个用 PHP 编写的 Web 应用程序,它使用 MySQL 作为数据库后端。
为了存储我的语言(泰语)数据,我在我的数据库表上使用了 tis620 字符集,这个设置目前非常适合我的 Web 应用程序。
我将编写一个 Windows 应用程序来访问与我的 Web 应用程序相同的数据库,但我遇到了从 tis620 字段检索数据的问题。
这是我的表的默认排序规则,使用 tis620
出于测试目的,我将 eng 字段的排序规则设置为使用 utf8
我在表中插入了一条示例记录
我使用 Oracle 的 MySQL 连接器/ODBC 5.1 作为 ODBC 驱动程序,并尝试设置为 utf8 和 tis620
我用的是Delphi 5,TTable连接数据库表
- 可以检索带有 utf8 的字段
-
无法检索带有 tis620(表的默认值)的字段
- 虽然使用字段编辑器创建所有字段,但我只能获得 utf8 字段。
请给我一些建议,目前tis620最适合我的网络应用程序,如果我将字段转换为utf8,我会解决这个问题,但我的网络应用程序会出现问题。
那么如何使用 BDE 数据访问组件(TTable、TQuery)从 tis620 字段中检索数据?
请帮忙。
谢谢大家。
【问题讨论】:
-
Delphi 5 不支持开箱即用的 Unicode,您可能需要升级到 Delphi 2009 或更高版本才能做到这一点。
-
BDE 很古老,很久以前就被弃用了。对于 Delphi 5,您可以购买包装 MS 的 Ado 技术的单独 AdoExpress 组件。您是否仍然可以得到它们值得怀疑,但如果您已经拥有它们,它们可能对您来说是一个更好的选择。
-
您是否在 Windows 设置中使用“泰语”作为非 Unicode 应用程序的语言?然后在您的 ODBC 驱动程序中将代码页设置为 874。
标签: mysql delphi utf-8 character-encoding collation