Last active
March 10, 2019 12:20
-
-
Save ezhov-da/3a3ff63aa7dc73774b0d463a2862b5a4 to your computer and use it in GitHub Desktop.
js кодировка русских букв в get запросах ajax
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
https://habrahabr.ru/post/17640/ | |
<pre>- encodeURIComponent(): | |
Латинские буквы, цифры, символы !*()'. оставляет как есть, всё остальное кодирует | |
escape-последовательностями в кодировке UTF-8. | |
Одобрено W3C. | |
Используется jQuery, prototype.js при запросе методом GET. | |
Возможно вы слышали от кого-то: «XMLHttpRequest работает только с UTF-8». | |
Теперь знаете, что это не совсем правда. | |
Когда используется GET-запрос, то кодировка переданных данных вообще нигде не прописывается(!). | |
Ещё раз повторю, 'Content-type', в котором мы можем указать charset | |
не используется в GET запросах. | |
Но, т.к. в JavaScript есть 2 удобные функции для перевода любой строки в строку с escape-последовательностями в UTF-8, то все их используют, и работают с UTF-8. | |
Именно поэтому в jQuery даже нельзя никак указать charset при отправке запроса. | |
Именно поэтому в Prototype.js, даже когда указываешь encoding='windows-1251', и используешь GET запрос, то передается всё равно UTF-8. | |
</pre> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment