吐槽:MySQL和Delphi2010的UTF8编码
16lz
2021-01-22
近来开发一套系统,是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显示的内容进行转换。
可是我用了几种方式把取得的结果进行编码转换,不是问号就是不明文字,总之就是显示不出来中文。
真心求救了。
上传一下系统的一些设置截图。
另,测试机器为英文Windows8.1企业版64位,所有区域选项都设置为中国或中文。
服务端采用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显示的内容进行转换。
可是我用了几种方式把取得的结果进行编码转换,不是问号就是不明文字,总之就是显示不出来中文。
真心求救了。
4 个解决方案
#1
上传一下系统的一些设置截图。
另,测试机器为英文Windows8.1企业版64位,所有区域选项都设置为中国或中文。
更多相关文章
- Mysql中文查询问题总结
- mysql中文乱码彻底解决
- 中文乱码问题
- dos插入mysql乱码
- mysql utf8中文排序
- EntityFramework6连接MySql数据库 乱码问题
- PHP MYSQL 出现中文乱码的解决方案
- Mysql迁移由于字符集导致乱码的数据
- Mysql基础之字符集与乱码