我正在使用 PHP 5.2.17 服务器 + MySQL 5.1.65。
我有一个表,其中包含一个字段,VARCHAR utf8_general_ci
并且我从该表中获取一条记录。
这就是我打开连接的方式,没什么特别的:
$link = mysql_connect('localhost', 'user', 'pass');
我需要使用包含特殊字符的 JSON 对象进行响应 Unicode 转义,我的意思是\u00e1
符号。
$result = mysql_query(sprintf("select * from data t where t.domain='%s'", escape($domain));
while($row = mysql_fetch_array($result)) {
$r[] = array(
"tagid" => $row['DATAID'],
"name" => $row['NAME']
);
)
$encoded = json_encode($r);
header('Content-type: application/json');
exit($encoded);
我的问题是null
在 JSON 响应中返回包含特殊字符 (áé..) 的字段。
谷歌搜索了一段时间后,我发现 PHP 5.2 缺少json_encode
参数,所以我需要手动对名称字段进行 unicode-escape。但我怎么能这样做呢?