php ajaxで中国語の文字化けコードを解決するにはどうすればよいですか?
解決策: 1. すべてのデータは、データベース エンコード、php エンコード、フロントエンド エンコードを含む utf-8 エンコードを均一に使用します; 2. json_encode()、urlencode() を使用して各文字を個別にエンコードし、次に使用しますurldecode() 関数はデコードを実行し、値を返します。
推奨: 「PHP ビデオ チュートリアル 」
php では、データベースからデータを抽出した後、通常、一度に複数行のデータを抽出します。フロントエンド js が ajax を使用してバックエンドと対話する場合、php は 1 つのデータのみをエコーできますが、複数のデータがあるため、渡すことができる配列は 1 つだけです。これは json_encode を使用します()関数。json_encode()関数はデータをjsonデータに変換することを意味します。
php 配列の変換方法を見てみましょう:
まず、php で 2 つの配列を作成します。1 つは中国語を含み、もう 1 つは数字または英語を含み、最後に出力を見てみましょう。アイデア: 関連する値はより直感的です
$gg=array('a'=>'中国','b'=>'日本','c'=>'美国','d'=>'加拿大','e'=>'法国'); $yy=array('f'=>'6','g'=>'7','h'>='8','i'=>'tom','j'=>'kevin');
配列の 1 つだけを出力します:
echo $json=json_encode($gg);
出力結果は次のとおりです
{"a":"\u4e2d\u56fd","b":"\u65e5\u672c","c":"\u7f8e\u56fd","d":"\u52a0\u62ff\u5927","e":"\u6cd5\u56fd"}
両方に中かっこがあります
2 つの配列を 1 つの配列に入れて同時に出力します。echo $json=json_encode(array($gg,$yy));
出力結果は次のとおりです。配列内の配列が json でフォーマットされた後、データは [] 角括弧で囲まれ、内部の配列は {} 中括弧で囲まれていることがわかりますが、依然として文字化けしています。
コード文字化けの問題には 2 つの方法があります。
方法 1: エンコーディングを含め、すべてのデータを一律に utf-8 でエンコードするデータベースからの PHP コーディングとフロントエンド コーディング。
方法 2: 次の関数を使用して各文字を個別にエンコードします: (一部の記号はエスケープに失敗しているようです。そのため、この方法の使用はお勧めできません)
[{"a":"\u4e2d\u56fd","b":"\u65e5\u672c","c":"\u7f8e\u56fd","d":"\u52a0\u62ff\u5927","e":"\u6cd5\u56fd"},{"f":"6","g":"7","0":true,"i":"tom","j":"kevin"}]
これら 2 つの関数を使用した後の出力結果は次のとおりです: 」を参照してください。 ! 以上がphp ajaxで中国語の文字化けコードを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。function JSON($array) {
arrayRecursive($array, 'urlencode', true);
$json = json_encode($array);
return urldecode($json);
}
function arrayRecursive(&$array, $function, $apply_to_keys_also = false){
static $recursive_counter = 0;
if (++$recursive_counter > 1000) {
die('possible deep recursion attack');
}
foreach ($array as $key => $value) {
if (is_array($value)) {
arrayRecursive($array[$key], $function, $apply_to_keys_also);
} else {
$array[$key] = $function($value);
}
if ($apply_to_keys_also && is_string($key)) {
$new_key = $function($key);
if ($new_key != $key) {
$array[$new_key] = $array[$key];
unset($array[$key]);
}
}
}
$recursive_counter--;
}
プログラミング関連の知識の詳細については、「プログラミング入門

ホットAIツール

Undress AI Tool
脱衣画像を無料で

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

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

Stock Market GPT
AIを活用した投資調査により賢明な意思決定を実現

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

toupdateadatabaserecordinphp、firstconnectusingpdoormysqli、thenuseprepreadedStatementStoeaseaseesecuresQlupDateQuery.example:$ pdo = newpdo( "mysql:host = localhost; dbname = your_database"、$ username、$ username、$ sibsfar

usefileperms()togetfilepermissionsisanintegerandformatitusingsprintf( '%o')todisplayunix-stylepermissionslike0644

$ argvと$ argcを使用して、phpコマンドラインパラメーターを取得します。 $ argcはパラメーターの数であり、$ argvはパラメーター配列です。たとえば、phpsscript.phphelloworld、$ argv = ['script.php'、 'hello'、 'world']; $ argv [1]などを使用して、特定のパラメーターにアクセスします。 getopt()を使用して、短いオプション(-f)と長いオプション( - ファイル)を複雑なシナリオで処理します。

Singleton Patternは、クラスに1つのインスタンスしかないことを保証し、単一のオブジェクトがデータベース接続や構成管理などのシステムの動作を調整するシナリオのグローバルアクセスポイントを提供します。 2。その基本構造には、プライベート静的属性ストレージインスタンス、プライベートコンストラクターが外部の作成を防ぎ、プライベートクローニング方法がコピーを防止し、インスタンスを取得するためのpublic staticメソッド(getInstance()など)が含まれます。 3. getInstance()メソッドを呼び出してPHPで一意のインスタンスを取得し、何回呼び出されても同じオブジェクト参照を返します。 4.標準のPHPリクエストモデルでは、スレッドの安全性を考慮する必要はありませんが、同期の問題は長期的またはマルチスレッド環境で注意を払う必要があり、PHP自体はネイティブロックメカニズムをサポートしていません。 5。シングルトンは便利ですが、

回答:PHPの空のマージ演算子(??)は、変数キーまたは配列キーが存在し、nullではないかどうかを確認するために使用されます。それが本当なら、それはその値を返し、それ以外の場合はデフォルト値を返します。長いISSET()チェックの使用を回避し、$ username = $ userInput ?? 'guest'などの未定義の変数や配列キーの処理に適しています。

$ _getを使用して、?name = john&age = 25などのURLパラメーターを取得します。 ISSETまたは空のマージオペレーターを介して存在を確認し、Filter_Inputでデータをフィルタリングおよび検証して、セキュリティを確保します。

usetheziparchiveclasstocreateazipfileinphpbyinptinatingtheobject、openthearchivewithopen()、addingfilesviaaddfile()oraddfromstring()、およびclosingitwithclose()tosave;

json_encode()関数を使用して、PHPアレイまたはオブジェクトをJSON文字列に変換します。たとえば、連想配列["name" => "john"、 "age" => 30、 "city" => "newyork"] outputs {"name": "john"、 "age":30、 "city": "newyork&
