ホームページ >バックエンド開発 >PHPチュートリアル >json_encode を使用して中国語の Unicode を取得する際の問題

json_encode を使用して中国語の Unicode を取得する際の問題

WBOY
WBOYオリジナル
2016-06-23 13:59:15941ブラウズ

データベーステーブル内の中国語は中国語の Unicode エンコーディングで保存されます。例えば、中国は u3537u3456 としてライブラリに表示されます。
入力中国語は utf-8 です。 json_encode の unicode を取得していますが、トランスコードされた文字列から
unicode を取得するとどうなるでしょうか。

コード例は以下の通りです
$str_input = "go Nanjing trip"; //クエリ対象の文字列

$str_query = "gou35373642trip"; $ から取得するには $str_query を取得する str_input はどうですか?




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

とはどういう意味ですか? gou35373642trip を南京旅行に変更したいですか?
http://www.welefen.com/php-unicode-to-utf8.html

、明確に表現していないようです、

私に必要なのは「gou35373642trip」、つまり一度そこに行ったらは中国語です。それを入力するだけです。対応する Unicode 文字列に変換すると、他の文字は変更されません

明確にしていません!

1. u3537u3456 は
中国
どうやって入れたのですか?教えてください

2.
$str_input = "go南京trip"; //一定要是 utf-8 的$str_input = iconv('gbk', 'utf-8', $str_input); //不然要转化成 utf-8 的echo json_encode($str_input);//得到 "go\u5357\u4eactrip"$str_query = trim(json_encode($str_input), '"'); //所以这样就得到了


あはは、Unicode コードはでっち上げです、申し訳ありませんが、上の階の兄弟は今私と同じことをしていますが、現時点では $str_query は JSON 文字列、{"0" :" です。 gou5357u4eacu5730u94c1trip"}、必要なのは「gou5357u4eacu5730u94c1trip」だけです。

json_decode を使用しても機能しません。この場合、文字列を比較して削除するだけでよいでしょうか?

次に、$str_input は文字列ではなく配列です

値を取り出すことはできますか?
$str_input = current($str_input);
$str_query = トリム(json_encode($str_input), '"');

$str_input = "南京旅行に行く";

$str_query = trim(json_encode($str_input), '"');

echo $str_query;
//Get {"0":"gou5357u4eacu5730u94c1trip"}

JSON 構造体 {"0":"gou5357u4eacu5730u94c1trip"} から "gou5357u4eacu5730u" を取得する方法94c1trip”

何かなぜこのように保存するのですか? DBはutf-8でエンコードすれば大丈夫ではないでしょうか?

$str_input = "go南京trip";$str_query = trim(json_encode($str_input), '"'); echo $str_query; 
が取得したものは gou5357u4eactrip です

なぜこのように保存したのですか? DBはutf-8でエンコードすれば大丈夫ではないでしょうか?

データベースは変更できません、テーブルはすでに存在しており、中国語のデータは Unicode で保存されています


$str_input = "go南京trip";$str_query = trim(json_encode($str_input), '"'); echo $str_query; 
が取得するのは gou5357u4eactrip です

直接エコーすると、ブラウザの表示は空になり、SQL 文に直接入れますそれには { } の json データ形式が含まれていることがわかります

投稿して見てください!


$str_input = "南京旅行に行く";

$str_query = trim(json_encode($str_input), '"');

echo "unicode: ", $str_query;

?> ;

出力 Unicode: Chrome で

やっと理解できました、ありがとう xuzuning

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