[英]How do I print roman languages (e.g. Spanish) /special characters in Javascript?
[英]How do I print special characters in JSON?
while ($row = $results->fetch_assoc()) {
$rows[] = array(
'id' => $row['id'],
'shipDataLastLocaltion' => $row['SDLLP']
);
}
print '{"data": ';
echo json_encode($rows, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE);
print "}";
$this->response('', 200);
表中的数据:
$row['SDLLP'] //-> "Istanbul’Beşiktaş"point:3""
错误画面:
SyntaxError:JSON.parse:JSON数据的第1行第10列出现意外字符
错误原因:
这些字符在表"
和'
由于这些字符,JSON无法正常工作-我为此使用了此功能,但无效。
我尝试使用此解决方案htmlspecialchars
和其他在Internet上找到的方法,但所有方法均无效。
有什么解决方案?
在打印时,只需在每个特殊字符前使用反斜杠\\。 它将开始接受这些字符作为json简单字符串,例如:
\" quotation
\\ backslash
使用服务器端语言选择数据,并在每个特殊字符之前添加反斜杠\\,然后制作json并将其返回给客户端。
谢谢。
我认为这些不需要的字符来自数据库。 首先需要设置排序规则Mysql排序规则
如果仍然有问题,则必须使用iconv函数来更改这些单词的编码。
就足够了
// Change character set to utf8
mysqli_set_charset($con,"utf8");
要么
$mysqli->set_charset("utf8");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.