0

クライアントからの http リクエストのリクエスト パラメータの 1 つに日本語の文字が含まれています。このリクエストを Firefox で行い、Eclipse でデバッグしてサーバーに届いた直後のパラメータを見ると、文字がきれいに表示されます。IE 8 を使用して同じ要求を行うと、サーバー コードの同じポイントで文字を見ると文字化けします (ただし、両方のブラウザーで問題ありません)。両方のブラウザで作成された POST リクエストを調べたところ、どちらも同じ文字シーケンスを渡します。つまり、次のとおりです。

%2C%E3%81%9D%E3%81%AE%E4%BB%96

したがって、これはエンコーディングに関係していると考えています。リクエストの HTTP ヘッダーを見ると、次のような違いがあることに気付きます。IE の場合:

Content-Type: application/x-www-form-urlencoded
Accept: */*

Firefox の場合:

Content-Type application/x-www-form-urlencoded; charset=UTF-8
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7

HTMLドキュメントのメタタグで指定されているにもかかわらず、IE 8ヘッダーはUTF-8エンコーディングを明示的に述べていないと思います。これが問題かどうかはわかりません。ご不明な点がございましたら、お気軽にお問い合わせください。

4

1 に答える 1

0

フォームを含むページの文字セットが UTF-8 であることを確認してください。IE の場合、これを確認する最善の方法は、HTTP ヘッダー ('Content-Type: text/html; charset=utf-8') を送信し、コンテンツ タイプ/文字セットを含むメタ http-equiv タグを追加することです。あなたのhtml(適切なヘッダーが送信された場合でも、これは実際に問題であることがわかりました)。

次に、フォームでコンテンツ タイプを指定することもできます。

<form enctype="application/x-www-form-urlencoded; charset=utf-8>
于 2010-10-05T14:38:24.777 に答える