Использование специальных символов в Firefox и IE, по-разному кодируется браузером - PullRequest
0 голосов
/ 29 октября 2009

У меня есть многоязычный сайт, который позволяет пользователям вводить текст для поиска в поле формы, но текст проходит через Javascript перед отправкой на серверную часть.

Специальные символы, такие как «欢», правильно обрабатываются в Firefox, но не в любой версии IE.

Может кто-нибудь помочь мне понять, что происходит?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 31 октября 2009

Может оказаться полезным добавить атрибут accept-charset в вашу форму. Это указывает браузеру, какой набор символов принимает сервер. Ваш JS должен следовать этому и отправить его в этом формате.

Некоторые другие вещи, которые могут повлиять на то, как IE обрабатывает кодировку символов:

  • Указание правильного типа документа (т. Е. Стандарты и режимы "соответствия").
  • Заголовок Content-Type, отправленный сервером; Я полагаю, что большинство браузеров придерживаются заголовка над метатегом, поэтому, если ваш сервер указывает ISO-8859-1, а ваша страница указывает UTF-8, возникнет некоторая путаница.
  • Формат заголовка Content-Type; некоторые "современные" браузеры (особенно FF) принимают utf8 как псевдоним utf-8. IE не делает, и отступает к ISO-8859-1. (Это связано с болезненным личным опытом!;)

Наборы символов - настоящая боль. Необходимо убедиться, что все компоненты говорят на одном и том же «языке» спереди назад, что включает в себя как хранилище , так и связь.

Следующий шаг для отслеживания того, что происходит, состоит в том, чтобы код вашего сервера регистрировал заголовки для вашего запроса JS, чтобы убедиться, что кодировка соответствует ожидаемой.

1 голос
/ 30 октября 2009

Некоторые браузеры устанавливают значения по умолчанию по-разному, принудительно установите кодировку по умолчанию для своего сайта, используя метатег для кодирования. Как здесь:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

UTF-8, возможно, не то, что вы ищете, но наиболее вероятно. Тестируя, зайдите в view-> кодировку символов в Firefox и установите ее вручную. Зная, какой из них работает, вы будете знать, на что его установить. Список схем здесь: http://tlt.its.psu.edu/suggestions/international/web/tips/declare.html и еще здесь: http://tlt.its.psu.edu/suggestions/international/bylanguage/index.html

0 голосов
/ 29 октября 2009

Убедитесь, что ваши персонажи и ваша страница используют кодировку UTF-8.

...