PHP学習散記_コーディングencode中国語は表示されません)
810 ワード
ネットで解決方法を見つけました。
<?php
/* json_encode */
$data = array ('game' => ' ', 'name' => ' ', 'country' => ' ', 'level' => 45 );
echo json_encode ( $data );
echo "<br>";
$newData = array ();
foreach ( $data as $key => $value ) {
$newData [$key] = urlencode ( $value );
}
echo urldecode ( json_encode ( $newData ) );
?>
で他の人に教えてもらって、base 64で符号化することもできますが、Base 64コードはURLに入れてはいけません。Base 64は標準的なURLに直接入れるのには適していません。これらの「%」号は、データベースに格納する際に、ANSI SQLでワイルドカードとして使用されているので、再変換が必要です。しかし、私のデータはPOSTで送ります。HTTPのheadではなく、message-bodyでは影響を受けません。Jsonencodeはutf-8形式のデータしか受け入れられません。エンコードは文字列タイプのパラメータしか受け入れられませんので、配列全体をエンコードすることはできません。