如数组:$arr = array(
        '淺'=>'浅',
        '我'=>'你'
 );如果我的php文件是用GB2312保存的,那运行这个文件,就会出现如下错误syntax error, unexpected T_STRING, expecting ')'
如果我的php文件是用UTF-8保存的,那运行这个文件,就不会出错不知哪里高手知道是什么原因

解决方案 »

  1.   

    因为 淺 的 GBK 内码是 9c5c
    而 5c 正好是 \ 
    就相当于你做 $x = '\';
    那肯定要出错的
      

  2.   

    那有什么办法可以解决啊,但又不能把文件保存为UTF-8的
      

  3.   

    转义
    $arr = array(
      '淺\'=>'浅',
      '我'=>'你'
     );
    这样就不错了看样子你需要的是一张对照表
    那么按 ini 文件格式书写就简单多了
    淺=浅
    我=你使用时
    $arr = parse_ini_file('filename');
      

  4.   

    如果写成 ini 文件格式如 ini 文件的内容为淺=浅
    倉=仓 ini 文件 保存为gb2312使用 $arr = parse_ini_file('filename');是会出错的如果 INI 文件的内容为淺=浅
    我=你就运行正常,看来还有有些文字会造成出错
      

  5.   

    parse_ini_file('filename')函数解析一个配置文件,并以数组的形式返回其中的设置
      

  6.   

    都以utf-8保存,然后读取的时候判断是否要转码
      

  7.   

    淺 的 GBK内码是9C5C
    \ 的ASCII内码是5C
    over