当前位置:Gxlcms > PHP教程 > php数组转换字符串函数,小弟我用thinkphp,json_encode保存中文,反斜杠消失了

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

时间:2021-07-01 10:21:17 帮助过:19人阅读

php 数组转换字符串函数, 我用thinkphp ,json_encode保存中文,反斜杠消失了
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

我记得有一个可以保存变量类型 的, 数组转换字符串, 忘记叫什么了
------解决思路----------------------
是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 '
';


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

)
------解决思路----------------------
应该是环境的原因,斜杠被处理掉。
------解决思路----------------------
你看下有没有对数据进行 stripslashes 之类的处理,在保存到数据库之前
------解决思路----------------------
接点分用用
------解决思路----------------------
save 是保存到数据库,那么你的 "\u5173\u6ce8\u65f6\u56de\u590d" 中的 \ 不需要转义吗?TP 会替你做?

人气教程排行