データベーステーブル内の中国語は中国語の Unicode エンコーディングで保存されます。例えば、中国は u3537u3456 としてライブラリに表示されます。
入力中国語は utf-8 です。 json_encode の unicode を取得していますが、トランスコードされた文字列から
unicode を取得するとどうなるでしょうか。
コード例は以下の通りです
$str_input = "go Nanjing trip"; //クエリ対象の文字列
$str_query = "gou35373642trip"; $ から取得するには $str_query を取得する str_input はどうですか?
ディスカッションへの返信(解決策)
とはどういう意味ですか? gou35373642trip を南京旅行に変更したいですか?
、明確に表現していないようです、
私に必要なのは「gou35373642trip」、つまり一度そこに行ったらは中国語です。それを入力するだけです。対応する Unicode 文字列に変換すると、他の文字は変更されません
1. u3537u3456 は
中国
どうやって入れたのですか?教えてください
$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 = current($str_input);
$str_query = トリム(json_encode($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;
データベースは変更できません、テーブルはすでに存在しており、中国語のデータは Unicode で保存されています
$str_input = "go南京trip";$str_query = trim(json_encode($str_input), '"'); echo $str_query;
直接エコーすると、ブラウザの表示は空になり、SQL 文に直接入れますそれには { } の json データ形式が含まれていることがわかります
投稿して見てください!
$str_query = trim(json_encode($str_input), '"');
echo "unicode: ", $str_query;
?> ;
出力 Unicode: Chrome で
やっと理解できました、ありがとう xuzuning