英語以外の文字セットを含むページで、データのやり取りに Ajax を使用する場合は、フロントエンドとバックエンドのデータが均一にエンコードされるように注意する必要があります。そうしないと、文字化けが発生しやすくなります。
バックエンドが ASP プログラムの場合、フロントエンド Javascript と Asp の間で転送される値の統一エンコーディングの維持は、次の関数を使用して処理できます。
エンコーディング:escape(string)
デコーディング: unescape(string)
これら 2 つの関数は JavaScript と Asp の両方に存在し、どちらかの側がデータを相手側に送信する限り、最初にエスケープでエンコードされ、受信側でデコードされます。 unescape を使用すると、JavaScript と Asp データが確実に送信されます。送信中に文字化けが発生することはありません。
バックエンドが PHP プログラムの場合、フロントエンド JavaScript と PHP 間で転送される値の統一エンコーディングの維持は、次の関数を使用して処理できます。
WEB フロントエンド JavaScript
Encoding: encodeURI( string)
デコード: decodeURI(string)
WEB バックエンド Php
エンコード: urlencode(string)
デコード: urldecode(string)
同様に、値を渡すときは、対応するエンコード関数を使用しますencodeURI または urlencode を受信する 対応するデコード関数 decodeURI または urldecode を使用すると、JavaScript や Php! のデータ転送処理中に文字化けが発生しないようにすることができます。
Php で WEB フロントエンド Javascript と urlencode でエンコードされたデータをデコードする場合、次のような 2 つのデコードを使用する必要がある場合があります。
unescape(decodeURI(string))
unescape は、一部の非コードをデコードするために使用されます。 - 句読点などの文字テキスト。