Ошибка Новичка: Кодируйте Uri В Utf-8.

В процессе освоения крайне простой, но тем не менее крайне глючной и некомпетентно написанной несерьезной библиотеки комментариев ajax Модуль общих комментариев Ajax , я столкнулся с интересным и не очевидным для меня эффектом.

Комментарии некоторых пользователей на моем сайте отображались корректно, а комментарии других отображались в виде хабразябра.

Кодировка сайта по умолчанию — utf-8. Но сообщения некоторых пользователей появились в cp1251. Я пытался воспроизвести ошибку, но не смог сделать это ни в одном из браузеров, установленных в моей системе.

(Установился Linux Debian — это была моя ошибка.

Браузеры: Opera 9, FireFox, Konqueror.) Не протестировав либу только в одном из известных браузеров, я понял, что мои худшие опасения сбываются.

Запустил Internet Explorer 6.0 и - эврика.

(Есть способ запустить Internet Explorer в Linux — IEs4Linux ) Примечание.

Все нелатинские символы, включенные в URI, должны быть закодированы в UTF-8. Те.

URI, для которого будет сделан запрос, должен выглядеть так: saveComment.phpЭcommentText=%DD%FF%AA. В результате я пришел к выводу, что все популярные браузеры, за исключением Internet Explorer, автоматически кодируют запрошенный url в utf-8. В случае с ослом используйте функцию javascript::encodeURI(url) непосредственно перед вызовом XMLHttpRequest.open().

В общем, лучше всегда его использовать.

:) О других функциях конвертации в Юникод можно прочитать Здесь .

Теги: #JavaScript #URI #URI #utf #Чулан

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.