Азиатские символы в IE 8 искажаются на сервере;это связано с HTTP-заголовком Content-Type? - PullRequest
0 голосов
/ 05 октября 2010

Один из параметров запроса в запросе http, сделанном клиентом, содержит японские символы. Если я сделаю этот запрос в 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

Я думаю, что в заголовке IE 8 явно не указана кодировка UTF-8, хотя она указана в метатеге HTML-документа. Я не уверен, если это проблема. Буду признателен за любую помощь, и, пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

1 Ответ

0 голосов
/ 05 октября 2010

Убедитесь, что на странице, содержащей форму, указан кодировщик UTF-8. В случае с IE лучше всего убедиться в этом, отправив заголовок HTTP ('Content-Type: text / html; charset = utf-8') и добавив мета-тег http-эквивалента с типом содержимого / charset в Ваш HTML (я видел это на самом деле имеет значение, даже когда был отправлен соответствующий заголовок).

Во-вторых, в вашей форме также можно указать тип контента:

<form enctype="application/x-www-form-urlencoded; charset=utf-8>
...