在mysql表中,我有包含此字符’
的数据。
喜欢:
Francesca’s Baker
但是当我使用json_encode
时,它会给出null而不是字符串。我发现的问题是使用此字符’
或类似的特殊字符。
任何想法如何解决这个问题?
答案 0 :(得分:1)
你试过这个吗?
<?php
$data=array("test"=>utf8_encode("Francesca’s Baker"));
echo json_encode($data);
返回{"test":"Francesca\u0092s Baker"}
答案 1 :(得分:0)
单引号可能会随机抛出错误,它真的很烦人!!!
你需要逃避单引号!
您的问题有两种解决方案。
解决方案1:
将所有'
替换为\'
str_replace("\'","\\\'",$string);
这将从字符串$ string替换'
\'
。
解决方案2:
$newstring = htmlentities($string);
这会将字符串$string
中的任何特殊字符更改为html实体,因此当字符串$newstring
打印到屏幕上时,它看起来很正常。
如果您需要进一步的帮助,让我知道!
答案 2 :(得分:0)
我有抓住json的问题,我用
解决了$data = array(
'result' => utf8_encode($xxx),
);
echo json_encode($data);