目次
問題の説明
json_encode() のパラメーターを設定する
ホームページ バックエンド開発 PHPの問題 PHPオブジェクトをJSON中国語の文字化けコードに変換する

PHPオブジェクトをJSON中国語の文字化けコードに変換する

May 22, 2023 pm 09:36 PM

Web 開発を行う場合、JSON は、オブジェクトを JSON データに変換し、AJAX を通じて非同期的に送信するためによく使用されます。ただし、JSON 形式の出力に PHP バックグラウンドを使用すると、オブジェクトが JSON 形式に変換された後に中国語の文字化けが発生する可能性があります。この記事では、この問題を解決する方法について説明します。

問題の説明

PHP コードでは、json_encode() 関数を使用してオブジェクトを JSON 形式の文字列に変換し、echo# を渡します。 ## 出力。ただし、JSON に中国語が含まれる場合、次の図に示すように文字化けが発生します。

PHPオブジェクトをJSON中国語の文字化けコードに変換する

きれいな中国語の文字が文字化けに変換され、ユーザーやユーザーにとって有害で​​す。開発者全員が無愛想です。次に3つの解決策を紹介します。

解決策

方法 1: 中国語

を手動でエンコードし、

json_encode() 関数 mb_convert_encoding の前に json_encode()-> を追加します。 ()、中国語を手動で utf-8 にエンコードします。

サンプル コードは次のとおりです。

<?php
$arr = [
    'name' => '张三',
    'age' => 18,
    'gender' => '男'
];
echo mb_convert_encoding(json_encode($arr, JSON_UNESCAPED_UNICODE), 'UTF-8');
?>
ログイン後にコピー

このコードを追加すると、出力文字列内の中国語が文字化けせずに utf-8 エンコーディングに正しく変換されます。

方法 2:

json_encode() のパラメーターを設定する

json_encode() 関数に JSON_UNESCAPED_UNICODE パラメーターを追加します。 json_encode() を伝えるため この関数は中国語を Unicode にエンコードせず、中国語をそのまま保持します。

サンプル コードは次のとおりです。

<?php
$arr = [
    'name' => '张三',
    'age' => 18,
    'gender' => '男'
];
echo json_encode($arr, JSON_UNESCAPED_UNICODE);
?>
ログイン後にコピー

このパラメーターを追加すると、出力される JSON 内の中国語が文字化けせずに正しく出力されるようになります。

方法 3: PHP コア設定を変更する

PHP コア設定には、テキストを出力するときに使用されるデフォルトの文字エンコーディングを示すパラメータ

default_charset があります。このパラメータを UTF-8 に設定すると、JSON を出力するときに中国語が正しくエンコードされます。

サンプル コードは次のとおりです。

<?php
ini_set('default_charset', 'utf-8');
$arr = [
    'name' => '张三',
    'age' => 18,
    'gender' => '男'
];
echo json_encode($arr);
?>
ログイン後にコピー

JSON 内の中国語が文字化けしないように、JSON を出力する必要があるスクリプトにこのコードを挿入します。

結論

Web 開発を行う場合、データ送信に JSON 形式を使用するのが非常に一般的です。 PHP で、

json_encode() 関数を使用してオブジェクトを JSON 形式の文字列にシリアル化すると、中国語の文字化けが表示されることがあります。この記事では、中国語を手動でエンコードする、json_encode() のパラメータを設定する、および PHP コア設定の default_charset パラメータを変更するという 3 つの解決策を紹介します。これらの方法は、JSON 中国語の文字化けの問題を効果的に解決でき、実際の状況に応じて具体的な用途を選択できます。

以上がPHPオブジェクトをJSON中国語の文字化けコードに変換するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)