json_encode从MSSQL-SELECT生成JSON_ERROR_UTF8

And*_*ter 6 php sql-server select json special-characters

我对mssql的数据库查询有一个恼人的问题.如果结果包含像德语'ä'这样的特殊字符,我就不能使用json_encode将结果正确地作为json.

json_last_error返回5,等于JSON_ERROR_UTF8.我猜数据库不会返回UTF-8编码的值.数据库集合是*Latin1_General_CI_AS*,受影响的列是varchars.

php mssql.charset配置无效.

我读过mysql用户可以用来mysql_query('SET CHARACTER SET utf8');正确编码返回值.我该怎么做才能正确获取mssql的值?

提示 - 我无法更改数据库中的任何内容.

sil*_*ire 11

在JSON编码之前,请使用utf8_encode()字符串.