V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shiji
V2EX  ›  问与答

今天被 Unicode 浪费了一下午的时间,求大神看看这个问题

  •  
  •   shiji · 2017 年 6 月 17 日 · 1439 次点击
    这是一个创建于 3228 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用的是 Datatables Editor, 对单一表的增删查改。
    问题出在获取数据的 ajax ( Datatables Editor 返回的 AJAX )是完全空白的(不是空白 ajax {} 那样的,是纯空白 ),HTTP200. 打开 PHP 所有错误显示都没有任何错误。如果 SQL/数据库出现错误 ajax 里面起码会有错误信息。

    然后为了找错,我去调整 Field::inst (也就是 select 后面跟的列的名称),发现只要去掉一个叫 question 的列就没有问题了。
    进一步查错,用 where id = x 一次显示一行,发现是第五行出的问题。只要包含了第五行 question 这一列,结果就完全空白。

    这行 question 的内容是这样的:
    What are the 5 common types of “ dizziness ” seen in xxx program?
    json encode 的结果:
    echo json_encode(array('a'=>'What are the 5 common types of “ dizziness ” seen in xxx program?'));
    {"a":"What are the 5 common types of \u201cdizziness\u201d seen in xxx program?"}

    离谱的事情出现了:
    我把这一段
    What are the 5 common types of “ dizziness ” seen in xxx program?
    复制粘贴到生产服务器的 php -a 下面的时候, 结果是这样的



    dizziness 自动跑到了光标后面,\u201c \u201d 这俩引号不见了。

    粘贴在本地环境的 php -a 就没这个问题(本地 7.0, 远程 5.5.9 )

    远程直接贴在 php 文件里面再 json_encode 结果和本地一样的,感觉问题不在这里

    有哪位大神知道这是什么情况? 早期 PHP 的 bug ?
    目前尚无回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2799 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 05:28 · PVG 13:28 · LAX 22:28 · JFK 01:28
    ♥ Do have faith in what you're doing.