ホームページ  >  記事  >  バックエンド開発  >  json re-mysqlデータ読み込み問題について

json re-mysqlデータ読み込み問題について

WBOY
WBOYオリジナル
2016-06-23 14:26:531014ブラウズ

php json javascript

//データベースに接続します コード
$conn=mysql_connect("127.0.0.1","root","root") または die("データベースへの接続に失敗しました!")
mysql_select_db( "resume2",$ conn) または die("そのようなデータベースはありません!");
mysql_query("SET NAMES utf8")

// 配列をデータベースに保存します
$value=array("name"=>) $_POST['ジョブ名 ']);
$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 が「Zhang Xiaobai」の場合"、出力 $num['name'] は "u6234u660eu534e" です。何が間違っているのか教えてください。出力が「Zhang Xiaobai's name」ではないのはなぜですか?

ディスカッションに返信 (解決策)

json は utf-8 でエンコードされた文字のみを受け入れます。ページが utf-8 でエンコードされていることを確認してください。

json は UTF-8 でエンコードされた文字のみを受け入れます。ページが UTF-8 でエンコードされていることを確認してください。

プロジェクトや HTML ファイルを作成するときは、json_encode を使用してトランスコードしてデータベースに保存しますが、データベースでは
という形式になります。 「u6234u660eu534e」。データベースを読むと、「u6234u660eu534e」しか読めません。これを「Zhang Xiaobai」のような中国語のエンコードに変換する方法がわかりません。

echo $_POST['job_name']; // 普通ですか?

普通ですか?

なぜ「張暁白」なのでしょうか?

$s = '"u6234u660eu534e"';
echo json_decode($s); //Dai Minghua

echo json_encode('Zhang Xiaobai') //"u5f20u5c0fu767d"

を記述していないことがわかります。あなたの問題を正確に

問題は解決されました。 mysqlに問題があります

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。