解决方案 »

  1.   

    散分了
    serialize($array);
    unserialize($array);
    有惊喜, 找到了
      

  2.   

    是Thinkphp的问题?
    直接用php的json_encode不会没有反斜杠的。
    echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';$arr = array(
        array(
            'title' => '关注时回复',
            'url' => '/index.php?g=User****'
        )
    );$str = json_encode($arr); //echo $str.'<br>';echo '<pre>';
    print_r(json_decode($str,true));
    echo '</pre>';
    [{"title":"\u5173\u6ce8\u65f6\u56de\u590d","url":"\/index.php?g=User****"}]
    Array
    (
        [0] => Array
            (
                [title] => 关注时回复
                [url] => /index.php?g=User****
            ))
      

  3.   

    你看下有没有对数据进行 stripslashes 之类的处理,在保存到数据库之前
      

  4.   


    不清楚,应该是处理了, 
    请问在哪里设置?
    我用 json_decode 有反斜杠, 保存到数据库就没有 了,
    还要本地没事,上传服务器就不行了,  配置一样
    本地php 5.5
    服务器php 5.2的,  
    用 serialize 这个函数代替了, 
    返回字符串, 数组 变量类型都会保存,不变
      

  5.   

    感觉是thinkphp 的问题, 保存之后就没有了, $db->save(json);
      

  6.   

    save 是保存到数据库,那么你的 "\u5173\u6ce8\u65f6\u56de\u590d" 中的 \ 不需要转义吗?TP 会替你做?
      

  7.   


    明白了 , 需要 这个是吗?
    str_replace("/\\/","\\\\",json)
    是不是写入数据库都需要转义? 
      

  8.   

    恩 ,谢谢, 以前 用asp 的, 只有是变量里面的值 都不用管, 就可以写入数据库 ,知道了 
    谢谢  结贴了,json_encode(array())  ;//写入数据库反斜杠消失, 需要转义 
      

  9.   

    asp 中 \ 不是特殊字符,但 ' 还是要转义的