首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi与mysql之间的编码有关问题

2012-02-20 
delphi与mysql之间的编码问题我用delphi与mysql数据库连接,请问怎样在delphi中输出时转换mysql的字符集(编

delphi与mysql之间的编码问题
我用delphi与mysql数据库连接,请问怎样在delphi中输出时转换mysql的字符集(编码)呢?请高手指教,能给一个例子吗?谢谢!

[解决办法]
从MySQL 4.1开始引入的多语言支持确实很棒,而且一些特性已经超过了其他的数据库系统。不过我在测试过程中发现使用适用于MySQL 4.1之前的PHP语句操作MySQL数据库会造成乱码,即使是设置过了表字符集也是如此。我读了一下新的MySQL在线手册中第十章”Character Set Support“后终于找到了解决方法并测试通过。 

MySQL 4.1的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。 

当我们按照原来的方式通过PHP存取MySQL数据库时,就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句: 

SET NAMES ‘utf8′; 

另外,把 SET NAMES ‘utf8′; 的uft8改成服务器上创建数据库时的默认字符集就好了!!!
==========================================
还有一个更简单的解决办法:

如果你用的是MySQL Data Access Components (MyDAC)控件与mysql 5相连的话,在TMyConnection的Options属性里设置charset为相应的编码,比如utf8就行了。

热点排行