SQL Server 2000 charset问题

时间:2011-04-11 14:09:55

标签: sql-server database-connection

与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编码格式向我发送数据?

编辑:

更多信息......

  • SQL Server使用Finnish_Swedish_CI_AS排序规则
  • MySQL拥有UTF-8格式的每个表,并使用utf8_unicode_ci

1 个答案:

答案 0 :(得分:0)

我没有找到一个好的解决方案,最终在我的应用程序中转换为utf8。如果这是封装在一个类中,它不会谜语代码。但实际上告诉SQL服务器在通信期间使用哪种编码会更好。