MSSQL字符编码
MSSQL character coding
我正在使用 ZF1 和 MSSQL,使用 freeTDS。
今天为了测试做了一个备份(在Studio Management中使用"Generate script"),我遇到了一个奇怪的问题。在 DB 中,我看到每个字符如 ś、ć、ż 等都被正确保存,但是当在 ZF 中我 运行 select 查询时,我得到一些奇怪的字符而不是我在 DB 中看到的字符。
这是一个非常烦人的问题,我试图在 4-5 小时后修复它,但仍然没有解决。
我尝试了什么:
- ini_set('mssql.charset', 'UTF-8');在 index.php
- 将列设置为 nvarchar、nchar
- mb_convert_encoding($data, 'UTF-8')
那个方法至少让我看到解码了JSON,但仍然解码错误。 (如果没有这种方法,我只会得到错误 "Invalid UTF-8...")
请找到我服务器中的freetds配置文件
(/usr/local/freetds/etc/freetds.config)
编辑文件并将客户端字符集设置为 utf8
我正在使用 ZF1 和 MSSQL,使用 freeTDS。
今天为了测试做了一个备份(在Studio Management中使用"Generate script"),我遇到了一个奇怪的问题。在 DB 中,我看到每个字符如 ś、ć、ż 等都被正确保存,但是当在 ZF 中我 运行 select 查询时,我得到一些奇怪的字符而不是我在 DB 中看到的字符。
这是一个非常烦人的问题,我试图在 4-5 小时后修复它,但仍然没有解决。
我尝试了什么:
- ini_set('mssql.charset', 'UTF-8');在 index.php
- 将列设置为 nvarchar、nchar
- mb_convert_encoding($data, 'UTF-8')
那个方法至少让我看到解码了JSON,但仍然解码错误。 (如果没有这种方法,我只会得到错误 "Invalid UTF-8...")
请找到我服务器中的freetds配置文件
(/usr/local/freetds/etc/freetds.config)
编辑文件并将客户端字符集设置为 utf8