Почему процент ë закодирован в %EB, а также в %C3%AB?

Когда я ввожу ë в форму своего веб-приложения, Google Chrome в процентах кодирует это значение как %C3%AB.

Когда я использую urlencode PHP('ë'); Это кодируется в %EB.

Почему кодировки разные?

Как я могу кодировать с той же кодировкой, что и Google Chrome с PHP 4?


person i.amniels    schedule 12.10.2012    source источник
comment
ë имеет разные представления байтов в разных кодировках.   -  person mario    schedule 12.10.2012
comment
Вы действительно на php 4? В любом случае, вы должны посмотреть на кодирование всего (db, соединение с db, html) в utf8, это избавит вас от многих головных болей.   -  person jeroen    schedule 12.10.2012
comment
я думаю, что %EB - это представление в кодировке ISO-8859-1, а %C3%AB - это представление UTF-8.   -  person ninaj    schedule 12.10.2012


Ответы (1)


%EB — это форма ISO-8859-1 (один символ).

%C3%AB — это форма UTF-8 (e + ¨).

Он должен работать "из коробки" (если вы используете более новую версию PHP и UTF-8 для своих файлов).

person Alix Axel    schedule 12.10.2012
comment
@i.amniels: понятия не имею, просто настройте свои формы так, чтобы они всегда отправлялись с использованием UTF-8 (атрибут accept-charset), и все будет в порядке. Кроме того, вам действительно следует обновить версию PHP. - person Alix Axel; 12.10.2012