MSSQL字符编码

时间:2015-03-16 15:33:34

标签: php sql-server json zend-framework

我正在使用ZF1和MSSQL,使用freeTDS。

今天我进行了备份(使用Studio Management中的“生成脚本”)进行测试,我遇到了一个奇怪的问题。在DB中我看到ś,ć,ż等所有字符都被正确保存,但是在ZF中运行select查询时,我得到一些奇怪的字符而不是我在DB中看到的字符。
这是一个非常讨厌的问题,我试图在4-5小时内修复它,但仍然没有。

我尝试了什么:

  • ini_set('mssql.charset','UTF-8');在index.php
  • 将列设置为nvarchar,nchar
  • mb_convert_encoding($ data,'UTF-8')

该方法至少让我看到解码的JSON,但仍然是字符解码错误。 (没有这种方法我只得到错误“无效的UTF-8 ......”)

1 个答案:

答案 0 :(得分:1)

请找到我的服务器中的freetds配置文件

(/usr/local/freetds/etc/freetds.config)

编辑文件并将客户端字符集设置为utf8

enter image description here