ホームページ >バックエンド開発 >PHPの問題 >PHPでjson_encodeが中国語をエスケープしないようにするにはどうすればよいですか?

PHPでjson_encodeが中国語をエスケープしないようにするにはどうすればよいですか?

Guanhui
Guanhuiオリジナル
2020-07-22 09:32:286843ブラウズ

PHPでjson_encodeが中国語をエスケープしないようにするにはどうすればよいですか?

#PHP json_encode が中国語をエスケープしないようにするにはどうすればよいですか?

json_encode が中国語をエスケープしないようにするための PHP メソッド: 「json_encode()」関数を使用して JSON エンコードを実行する場合、2 番目のパラメーターに定数「JSON_UNESCAPED_UNICODE」を渡します。これは、リテラル エンコード マルチバイト Unicode を意味します。文字。

コード例

$jsonStr = json_encode($data,JSON_UNESCAPED_UNICODE);

JSON 事前定義定数

JSON_ERROR_NONE (整数)

エラーは発生しませんでした。 PHP 5.3.0 以降で有効になります。

JSON_ERROR_DEPTH (整数)

スタックの深さが最大値に達しました。 PHP 5.3.0 以降で有効になります。

JSON_ERROR_STATE_MISMATCH (整数)

アンダーフローまたはパターンの不一致が発生しました。 PHP 5.3.0 以降で有効になります。

JSON_ERROR_CTRL_CHAR (整数)

制御文字が間違っています。エンコーディングが間違っている可能性があります。 PHP 5.3.0 以降で有効になります。

JSON_ERROR_SYNTAX (整数)

構文エラー。 PHP 5.3.0 以降で有効になります。

JSON_ERROR_UTF8 (整数)

例外的な UTF-8 文字です。エンコードが正しくない可能性があります。 PHP 5.3.3 以降で有効です。

JSON_ERROR_RECURSION (整数)

json_encode() に渡されたオブジェクトまたは配列には再帰参照が含まれているため、エンコードできません。JSON_PARTIAL_OUTPUT_ON_ERROR オプションが指定された場合、再帰参照の代わりに NULL がエンコードされます。 PHP 5.5.0 以降で利用可能。

JSON_ERROR_INF_OR_NAN (整数)

json_encode() に渡される値には NAN または INF が含まれます。JSON_PARTIAL_OUTPUT_ON_ERROR オプションが指定された場合、0 がエンコードされます。 PHP 5.5.0 以降で使用可能です。

JSON_ERROR_UNSUPPORTED_TYPE (整数)

サポートされていない型の値が json_encode() に指定されました (リソースなど)。 JSON_PARTIAL_OUTPUT_ON_ERROR オプションが指定されました。サポートされていない値の代わりに NULL がエンコードされます。PHP 5.5.0 以降で使用できます。

JSON_ERROR_INVALID_PROPERTY_NAME (整数)

\u0000 文字で始まるキーがJSON オブジェクトを PHP オブジェクトにデコードするときに json_decode() に渡される文字列。PHP 7.0.0 以降で使用可能。

JSON_ERROR_UTF16 (整数)

Unicode エスケープ内の単一のペアになっていない UTF-16 サロゲート。 json_encode() に渡される JSON 文字列。PHP 7.0.0 以降で使用可能。

次の定数は、json_decode() の form オプションと組み合わせて使用​​できます。

JSON_BIGINT_AS_STRING (整数)

大きな数値を元の文字の元の値にエンコードします。 PHP 5.4.0 以降で有効になります。

JSON_OBJECT_AS_ARRAY (整数)

JSON オブジェクトを PHP 配列としてデコードします。このオプションは、2 番目のパラメーターを TRUE に設定して json_decode() を呼び出すことで自動的に追加できます。PHP 5.4.0 以降で利用可能です。

次の定数は、json_encode() の form オプションと組み合わせて使用​​できます。

JSON_HEX_TAG (整数)

すべての 36eca8458427019e813426bb05959531 は \u003C と \u003E に変換されます。 PHP 5.3.0 以降で有効になります。

JSON_HEX_AMP (整数)

すべての & は \u0026 に変換されます。 PHP 5.3.0 以降で有効になります。

JSON_HEX_APOS (整数)

すべての ' は \u0027 に変換されます。 PHP 5.3.0 以降で有効になります。

JSON_HEX_QUOT (整数)

すべての " を \u0022 に変換します。PHP 5.3.0 以降で有効です。

JSON_FORCE_OBJECT (整数)

非連想配列は、配列の代わりにクラス (オブジェクト) を出力します。これは、配列が空で、受信側がクラス (オブジェクト) を期待している場合に特に便利です。PHP 5.3.0 以降で有効です。

JSON_NUMERIC_CHECK (整数)

すべての数値文字列を数値にエンコードします。PHP 5.3.3 以降で有効です。

JSON_PRETTY_PRINT (整数)

返されたデータを空白文字でフォーマットします。PHP 5.4.0 以降で有効です。 .

JSON_UNESCAPED_SLASHES (整数)

/ をエンコードしないでください。PHP 5.4.0 以降で有効です。

JSON_UNESCAPED_UNICODE (整数)

マルチバイトをエンコードしますUnicode 文字は文字通り (デフォルトは \uXXXX としてエンコードされます) PHP 5.4.0 以降で有効です

JSON_PARTIAL_OUTPUT_ON_ERROR (整数)

失敗する代わりにエンコードできない値を代用します PHP 5.5.0 以降で使用可能.

JSON_PRESERVE_ZERO_FRACTION (整数)

浮動小数点値が常に浮動小数点値としてエンコードされるようにします。PHP 5.6.6 以降で利用可能です。

JSON_UNESCAPED_LINE_TERMINATORS (整数)

JSON_UNESCAPED_UNICODE が指定されている場合、行末文字はエスケープされずに維持されます。この定数を使用しないと、PHP 7.1 以前と同じ動作が使用されます。PHP 7.1.0 以降で利用可能です。

推奨チュートリアル : PHP>>

以上がPHPでjson_encodeが中国語をエスケープしないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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