php 数组转换字符串函数, 我用thinkphp ,json_encode保存中文,反斜杠消失了

WBOY
Release: 2016-06-23 13:43:49
Original
1439 people have browsed it

php 数组转换字符串函数, 我用thinkphp ,json_encode保存中文,反斜杠消失了
原本是这个
[{"title":"\u5173\u6ce8\u65f6\u56de\u590d","url":"\/index.php?g=User****"}]
结果变成这个了
[{"title":"u5173u6ce8u65f6u56deu590d","url":"\/index.php?g=User****"}]
就是中文,用json_decode 处理,保存到数据库就没有反斜杠了,

php版本 5.2, apache 2.2

我记得有一个可以保存变量类型 的, 数组转换字符串, 忘记叫什么了


回复讨论(解决方案)

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

是Thinkphp的问题?
直接用php的json_encode不会没有反斜杠的。

echo '';$arr = array( array( 'title' => '关注时回复', 'url' => '/index.php?g=User****' ));$str = json_encode($arr); //echo $str.'
';echo '
';print_r(json_decode($str,true));echo '
Copy after login
Copy after login
';

[{"title":"\u5173\u6ce8\u65f6\u56de\u590d","url":"\/index.php?g=User****"}]
Array
(
[0] => Array
(
[title] => 关注时回复
[url] => /index.php?g=User****
)

)

应该是环境的原因,斜杠被处理掉。

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

接分了 恭喜楼主

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



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

是Thinkphp的问题?
直接用php的json_encode不会没有反斜杠的。

echo '';$arr = array( array( 'title' => '关注时回复', 'url' => '/index.php?g=User****' ));$str = json_encode($arr); //echo $str.'
';echo '
';print_r(json_decode($str,true));echo '
Copy after login
Copy after login
';

[{"title":"\u5173\u6ce8\u65f6\u56de\u590d","url":"\/index.php?g=User****"}]
Array
(
[0] => Array
(
[title] => 关注时回复
[url] => /index.php?g=User****
)

)


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

接点分用用

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

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



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

是的,写入数据库的时候要转义特殊字符

是的,写入数据库的时候要转义特殊字符


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

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

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!