关于json重mysql读取数据问题

php中文网
发布: 2016-06-23 14:26:53
原创
1318人浏览过

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转意问题

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号