ホームページ > 記事 > ウェブフロントエンド > JavaScript でよくある問題の解決策 (文字化け、IE キャッシュ、プロキシ)_JavaScript スキル
AJAX の中国語文字化けを解決するためによく使用される 2 つの方法
1. クライアント側で URI をエンコードし (デフォルトでは utf-8 を実行する必要はありません)、サーバー側で iso-8859-1 エンコードを utf-8 エンコードに変換します
2. クライアント側で URI を 2 回エンコードし、サーバー側で 1 回変換します。
2 番目の方法で問題が解決できる理由:
2 回の変換後、最初の getparameter メソッドで最初のデコードを実行します。解決策は英語であるため (最初のエンコード後の結果)、2 回目に URLDecoder デコード メソッドを使用すると、この問題は発生しません。普通に解ける。なお、デコードメソッドではデコード形式を「utf-8」に指定する必要があります。多くの中国のプラットフォームは utf-8 (gb2312 だと思います) を使用しないため、デコードのデフォルトの変換は必ずしも utf-8 であるとは限りません。
クライアントがサーバー上で 2 回エンコードされ、1 回だけデコードされるのは、Tomcat が原因です。プログラマーにとってプログラミングを便利にする (get と post で同じコードを使用する) ために、Tomcat は post のエンコーディングを自動的にデコードするため、サーバー側での手書きのデコード ステートメントが 1 つ減ります。エンコードとデコードを再度実行する必要があるのは、Tomcat の自動デコード操作が必ずしも希望のエンコードに従ってデコードされるわけではないためですが、英語やその他の文字のデコードされたコードはどのプラットフォームであっても同じであるためです。したがって、Tomcat は最初のエンコードの結果を自動的に解釈し、次に encodeURI コードを手動で 1 回解釈して、必要な形式を取得することができます。
追加: 今、ブラウザの動作を再度観察しましたが、ブラウザに表示される中国語はエンコードされたコンテンツではないので、これは Tomcat のせいではないと感じています。エンコードの問題で混乱しています。この知識を知っている友人がアドバイスをくれることを願っています。
IE キャッシュ問題の解決
タイムスタンプを追加して確認しますか?
代理店の問題を解決します
これをやりたいですか? $
サンプルコード: