吐槽:MySQL和Delphi2010的UTF8编码
近来开发一套系统,是PHP+MySQL+Delphi客户端。
服务端采用Linux+Apache+MySQL,Linux字符编码是UTF8,Apache是UTF8,MySQL也是UTF8。
用浏览器打开,中文完全无问题。
Delphi2010用ZeosLib连接MySQL,任何编码都是乱码。
跟踪了半天,发现MySQL改用Latin1,Delphi无论设置GBK还是UTF8,都不会乱码,但是浏览器打开全是乱码。
简单说:网页乱码,客户端就正常,客户端乱码,服务端就正常。
折腾死我了。
尝试了N多组合,就是不行。
当服务端正常的时候,Delphi测试CodePage,显示是CP936,也就是GBK。
猜想,Delphi会自动探测当前的系统的CodePage,并对VCL显示的内容进行转换。
可是我用了几种方式把取得的结果进行编码转换,不是问号就是不明文字,总之就是显示不出来中文。
真心求救了。