先週末、ギフトを送るために作成した端午節と Weibo アプリケーションでは、ajax が json を返すデータ形式を設計しましたが、この方法でエンコードされたコードは Unicode であるため、PHP のデフォルトの json_encode を完全には使用しませんでした。 encoded、つまり u.Encoding ですが、Unicode エンコードは文字化けせずに別のページでエンコードできます。ただし、漢字を Unicode にエンコードすると、u+4 文字となり、漢字よりも長くなります。
私のphpファイルとhtmlステートメントではUTF-8が使用されているため、エンコード文字化けの問題は発生しないため、json_encodeを直接使用する方法はあきらめましたが、代わりに、最初に中国語の文字をurlencodeしてからjson_encode、次にjson_encodeを使用しますもう一度、urldecode を使用してデコードし、エンコードされた json 配列内の中国語の文字が Unicode エンコードされないようにします~
コードは次のとおりです
//デフォルトは: {"test":"u6211u662fu6d4bu8bd5"}
$array = array(
'test'=>urlencode("I am test")
);
$array = json_encode($array); echo urldecode($array);
//{"テスト":"私はテストです"}
json_encode の null の問題
ドキュメント エンコードまたは文字列エンコード (たとえば、UTF-8 が GBK ページをキャプチャする) が非 UTF-8 である場合、json_encode エンコードの失敗の問題が発生し、出力が中国語になります。文字は null になります。
TBCompressorの圧縮ファイルのエンコーディング
TBCompressorは、Taobao UEDチームによって修正されたYUICompressorです。jsファイル内の中国語文字が多すぎると、サイズが大きくなります。この問題は、たとえば、js は全国の州、市、郡の地名の配列であり、TBCompressor の設定を変更することで解決する必要があります~
TBCompressor の cmd ファイルを変更することで解決できます。 JDK をインストールせずに解決できるように、native2ascii を使用します。 JRE コンピュータでは TBCompressor を使用します。もちろん、圧縮したい js および css ファイルが UTF-8 でエンコードされている場合は、TBCompressor の文字セットを UTF-8 に変更する必要があります。
行き過ぎたので、今日はやめましょう〜