【发布时间】:2013-08-15 06:57:47
【问题描述】:
我在对 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 的值?
提示 - 我无法更改数据库中的任何内容。
【问题讨论】:
-
在json_encode()之前尝试php的iconv()
-
utf8_encode数据优先。
标签: php sql-server json select special-characters