JSON数据入库时转义字符丢失

<?php
 $conn = mysql_connect('localhost','root','root');
 mysql_query('set nams utf-8');
 mysql_select_db('wifi',$conn);
 
 $text = addslashes(json_encode('测试'));//echo $text; echo json_decode($text);
 $sql = "insert into wf_short_msg_task set msg_data='$text' , sed_id='1',share_num='1'";
// mysql_query($sql);
 
 $sql1 = "select msg_data  from wf_short_msg_task where msg_id=41";
 $res = mysql_query($sql1);
 while($res_1 = mysql_fetch_assoc($res)){
	$tt = $res_1['msg_data']; echo $tt;
	echo json_decode($tt)."<br/>";
 }

上方为测试代码:

 (1). 转换后生成的json数据,直接入库的话,\ 会丢失,将导致数据取出来时json_decode()无法得到原来的数据

 解决方法: 如上代码所示,加上一个函数 addslashes()即可解决问题

你可能感兴趣的:(JSON数据入库时转义字符丢失)