与DB的谈话再次出现charset问题:)
我有两个运行Zend Server的环境。这些机器人使用mssql扩展与SQL Server 2000进行通信。它们都没有为扩展设置中的字符集赋予任何值。对于一个它工作,而另一个它以错误的编码返回数据。
当这些数据被插入MySQL数据库并且它被SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF6m' for column 'cust_lastname' at row 1
尖叫时,问题就引起了注意。
我尝试使用SET NAMES utf8
来获取SQL Server连接以返回正确的数据,但它抱怨并说NAMES is not a recognized SET statement
。环顾大多数人甚至建议使用它,但它似乎不是SQL Server 2000的一部分:)
那么,我该怎么办?我如何在不摆弄SQL Server数据库/表的情况下告诉它以UTF-8编码格式向我发送数据?
编辑:
更多信息......
答案 0 :(得分:0)
我没有找到一个好的解决方案,最终在我的应用程序中转换为utf8。如果这是封装在一个类中,它不会谜语代码。但实际上告诉SQL服务器在通信期间使用哪种编码会更好。