PHP,JSON - Escape Cent标志等等

时间:2015-10-16 22:31:27

标签: php mysql json

我的数据库的结果包含分号 - ¢

我似乎无法弄清楚如何逃避它,因此值显示在json feed中。现在它返回的全部是NULL。我如何逃避这样的所有符号。

数组就像这样创建

if(mysql_num_rows($result)) {
    while($post = mysql_fetch_assoc($result)) {
        $posts[] = array('post'=>$post);
    }
}

使用此

生成输出
if($format == 'json') {
    header('Content-type: application/json');
    if(isset($_GET['post_id'])) {
        echo json_encode(array('posts'=>$posts ));
    } else {
        echo json_encode(array('posts'=>$posts, 'pagenum'=>$nexturl ));
    }
}

我一直坚持这个。

谢谢

---这些是我的UTF选项。我选择哪一个?

my utf options

2 个答案:

答案 0 :(得分:1)

使用UTF-8将清除它。

1。)将db字段排序规则设置为UTF-8。

2.。)将PHP文件中的标题设置为UTF-8 标题('内容类型:text / html; charset = utf-8');

3.确保您的文本编辑器输出没有BOM的UTF-8。 (由于这个原因,我已经失去了几天的生命)

答案 1 :(得分:1)

JSON应该是UTF-8,所以$ posts应该是UTF-8。

您可以合并array_mapiconv

$posts = array_map(
           function($a){
             return iconv('ISO-8859-1', 'UTF-8"', $a);
           }, 
           $posts);

如果您有可能将数据库转换为UTF-8,那就更好了。