//连接数据库代码
$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",请大神看看哪里出问题了。为什么输出的不是"张小白这个名字呢?"phpjsonjavascript

解决方案 »

  1.   

    json只接受utf-8编码的字符,确认你的页面是utf-8编码。
      

  2.   


    我在创建项目和html文件的时候是统一用utf-8的,用json_encode转码后保存到数据库,比如我写入的是"张小白",但是在数据库却是
    "u6234u660eu534e"这样形式。读取数据库也只能读到"u6234u660eu534e"这个,不知道怎么将其转成"张小白"这种中文编码。
      

  3.   

    echo $_POST['job_name']; //正常吗
      

  4.   

    为什么是“张小白”呢?$s = '"\u6234\u660e\u534e"';
    echo json_decode($s); //戴明华echo json_encode('张小白'); //"\u5f20\u5c0f\u767d"可见您并没有准确的描述您的问题
      

  5.   

    问题,已得到解决。是mysql转意问题