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