首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP,JSON -逃逸分号等

问PHP,JSON -逃逸分号等
EN

Stack Overflow用户
提问于 2015-10-16 22:31:26
回答 2查看 280关注 0票数 0

我的数据库有一个包含美分符号的结果

我似乎不知道如何转义它,所以这个值出现在json提要中。现在,它返回的只是NULL。我怎么才能逃避所有像这样的符号。

数组的创建方式如下

代码语言:javascript
复制
if(mysql_num_rows($result)) {
    while($post = mysql_fetch_assoc($result)) {
        $posts[] = array('post'=>$post);
    }
}

输出用以下方式生成:

代码语言:javascript
复制
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选项.我该选哪一个?

​

​

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-16 22:41:04

使用UTF-8将清除这一问题。

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

2.)将PHP文件中的标题设置为UTF-8标头(‘Content-type: text/html;charset=utf-8');

3.)确保您的文本编辑器输出UTF-8w/o BOM。(我因此失去了几天的生命)

票数 1
EN

Stack Overflow用户

发布于 2015-10-16 22:43:13

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

您可以将地图和艾特夫结合起来。

代码语言:javascript
复制
$posts = array_map(
           function($a){
             return iconv('ISO-8859-1', 'UTF-8"', $a);
           }, 
           $posts);

如果你有可能把你的数据库转换成UTF-8,那就更好了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33180506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档