您好,欢迎访问一九零五行业门户网

关于json重mysql读取数据问题

php json javascript
//连接数据库代码
$conn=mysql_connect(127.0.0.1,root,root) or die(连接数据库失败!);
mysql_select_db(resume2,$conn) or die(没有该数据库!);
mysql_query(set names utf8);
//将一个数组保存到数据库
$value=array(name=>$_post['job_name']);
$var=json_encode($value);
mysql_query(insert into `resume`(`job_id`, `job_pass_status`,job_content`)values(null,1,'$var'),$conn);
//然后再从数据库读取刚才存入的数据
$query=mysql_query(select * from `resume` where `job_id`=10);  //刚才存入的id为10
$row=mysql_fetch_array($query);
$num=json_decode($row['job_content'],true);
echo $num['name'];
//问题,当我job_name为张小白,输出$num['name']为u6234u660eu534e,请大神看看哪里出问题了。为什么输出的不是张小白这个名字呢?
回复讨论(解决方案) json只接受utf-8编码的字符,确认你的页面是utf-8编码。
json只接受utf-8编码的字符,确认你的页面是utf-8编码。
我在创建项目和html文件的时候是统一用utf-8的,用json_encode转码后保存到数据库,比如我写入的是张小白,但是在数据库却是
u6234u660eu534e这样形式。读取数据库也只能读到u6234u660eu534e这个,不知道怎么将其转成张小白这种中文编码。
echo $_post['job_name']; //正常吗
echo $_post['job_name']; //正常吗
正常的
为什么是“张小白”呢?
$s = '\u6234\u660e\u534e';
echo json_decode($s); //戴明华
echo json_encode('张小白'); //\u5f20\u5c0f\u767d
可见您并没有准确的描述您的问题
问题,已得到解决。是mysql转意问题
其它类似信息

推荐信息