如何在字符串“'”中修复此字符。不使用json_encode

时间:2013-06-11 21:05:54

标签: php mysql json

在mysql表中,我有包含此字符的数据。 喜欢: Francesca’s Baker

但是当我使用json_encode时,它会给出null而不是字符串。我发现的问题是使用此字符或类似的特殊字符。

任何想法如何解决这个问题?

3 个答案:

答案 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);