json_encode array_PHP チュートリアルに表示される Unicode uxxxx の解決策

WBOY
リリース: 2016-07-21 14:57:51
オリジナル
834 人が閲覧しました

先週末、ギフトを送るために作成した端午節と 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);
//{"テスト":"私はテストです"}

これは主に送信文字数を節約するためです。ギフトを贈るとデフォルトで何百もの友人情報が導入され、データトラフィックがまだ比較的大きいためです~したがって、漢字送信を使用すると、Unicode文字エンコード送信よりも帯域幅が節約されます~と処理 ページエンコーディングの問題は解決されており、文字化けは発生しません。

json_encode の null の問題

ドキュメント エンコードまたは文字列エンコード (たとえば、UTF-8 が GBK ページをキャプチャする) が非 UTF-8 である場合、json_encode エンコードの失敗の問題が発生し、出力が中国語になります。文字は null になります。

解決策は、json_encode の前に iconv 関数を使用して漢字を UTF-8 に変換することです。


TBCompressorの圧縮ファイルのエンコーディング
TBCompressorは、Taobao UEDチームによって修正されたYUICompressorです。jsファイル内の中国語文字が多すぎると、サイズが大きくなります。この問題は、たとえば、js は全国の州、市、郡の地名の配列であり、TBCompressor の設定を変更することで解決する必要があります~
TBCompressor の cmd ファイルを変更することで解決できます。 JDK をインストールせずに解決できるように、native2ascii を使用します。 JRE コンピュータでは TBCompressor を使用します。もちろん、圧縮したい js および css ファイルが UTF-8 でエンコードされている場合は、TBCompressor の文字セットを UTF-8 に変更する必要があります。

行き過ぎたので、今日はやめましょう〜

原文:http://www.js8.in/697.html

http://www.bkjia.com/PHPjc/363961.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/363961.html技術記事端午節とプレゼントを配布するために先週末に作成した Weibo アプリケーションでは、ajax が json を返すようにデータ形式を設計しました。この方法でエンコードされたものは、PHP のデフォルトの json_encode を完全には使用しませんでした。 .
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート