上传一下系统的一些设置截图。
另,测试机器为英文Windows8.1企业版64位,所有区域选项都设置为中国或中文。

解决方案 »

  1.   

    set names gbk也无法解决问题。这才是最郁闷的。
      

  2.   

    ZeosLib没用过UniDac连MySQL设置UTF8,显示中文没问题
      

  3.   

    问题解决。
    还真不怪Delphi。故障原因,MySQL即便是在my.cnf或者my.ini里面设置了全部使用UTF8之后,如果连接的客户端不强制制定编码,它会“自动”进行编码选择。PHP服务器端就因为没有指定支付编码,而导致其在连接数据库的时候,擅自选择了Latin1字符集。mysql_connect('localhost','user','password');
    mysql_select_db('my_db');
    mysql_query("set names 'utf8'"); //select 数据库之后加多这一句添加了上面的一句,服务端全都搞定。
    客户端只需要指定UTF8或者set names utf8,就都不乱码了。用Delphi、C#、C++测试之后,都正常了。这仅仅是出现在多字符或者多字符集的情况下,例如混合了中英文,简繁体之类的网页或者应用。
    纯英文无此问题。当然,还有一项比较大的工程要做,就是把数据库里面原来的内容,统统转码一次才行。现在已经完全正常了。结贴。