lvfujun
V2EX  ›  PHP

PHP 中的神奇空格.ヾ(。`Д´。)竟然这么坑爹.

  •  
  •   lvfujun · Jan 19, 2015 · 4731 views
    This topic created in 4162 days ago, the information mentioned may be changed or developed.
    空格开始   空格结束
    请大家复制上面两段文字中间的空格到你的PHP代码中包准报错.
    求大牛分析一下.是不是编码的问题.
    ????????????????????
    21 replies    2015-01-20 10:46:52 +08:00
    wowo2088
        1
    wowo2088  
       Jan 19, 2015
    你那不是空格,是161(A1)号字符
    wadezhao
        3
    wadezhao  
       Jan 19, 2015
    您这三个“空格”放在什么代码中不出错?
    764664
        4
    764664  
       Jan 19, 2015
    xoxo
        5
    xoxo  
       Jan 19, 2015
    这不是PHP的问题
    而是你这个字符, 是全角字符(全角空格也是全角字符),PHP不认识这尼玛是不是空格,全角字符没有PHP对应的标记来执行,所以就报错了
    mingzepeng
        6
    mingzepeng  
       Jan 19, 2015
    报错时候你也不看一下报错内容么。。。。。
    bjzhush
        7
    bjzhush  
       Jan 19, 2015
    我这没报错
    msxcms
        8
    msxcms  
       Jan 19, 2015
    这跟PHP毛线关系?
    ksc010
        9
    ksc010  
       Jan 19, 2015
    '{';
    上面尖括号前面有个不可见字符 (可以复制到编辑器里面,然后左右移动光标就能“感觉”到),原来遇到的一个坑
    现在这个特殊的字符我保存在网盘里面了
    littleshy
        10
    littleshy  
       Jan 19, 2015
    全角的啊!
    littleshy
        11
    littleshy  
       Jan 19, 2015
    所以开发时建议显示全部字符啊,是不是空格一眼就看出来了。
    yuankui
        12
    yuankui  
       Jan 19, 2015
    这是非可见字符吧。。
    lvfujun
        13
    lvfujun  
    OP
       Jan 19, 2015
    坑爹的字符以后开发得小心.
    @wowo2088
    @yuankui
    @littleshy
    @littleshy
    @ksc010
    @msxcms
    @bjzhush
    @mingzepeng
    @xoxo
    @764664
    @wadezhao
    @wowo2088
    ooh
        14
    ooh  
       Jan 19, 2015
    忽然想起了稻草人
    lvfujun
        15
    lvfujun  
    OP
       Jan 19, 2015
    @xoxo 大牛说对了.
    skyline75489
        16
    skyline75489  
       Jan 19, 2015
    碰到过类似的,30号ASCII字符, RS (record separator),这个东西真是奇葩,在IE6上能显示出空白来,但是在现代浏览器上就消失了。。。
    bombless
        17
    bombless  
       Jan 19, 2015
    跟 PHP 有毛线关系……你把它丢 C++ 源码里面照样编译不过……
    hrdslin
        18
    hrdslin  
       Jan 20, 2015 via Android
    php是世界上最好的语言,没有之一
    reeco
        19
    reeco  
       Jan 20, 2015 via iPhone
    想起以前调试了半天的bug,就是全角空格引起的????
    curiousjude
        20
    curiousjude  
       Jan 20, 2015
    IDE不是都会标记出来吗?至少PHPStorm会。
    kimmykuang
        21
    kimmykuang  
       Jan 20, 2015
    全角空格吧,最近做过PHP处理文本内容的,在format数据的时候遇到不少奇怪的字符,有些数据录入时直接从word黏贴到编辑器中的,很多看上去像是空格的字符其实并不是,可能会导致问题。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2828 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 13:22 · PVG 21:22 · LAX 06:22 · JFK 09:22
    ♥ Do have faith in what you're doing.