Как изменить кодировку переменной
-
Суть проблемы: У меня в переменную записывается ник пользователя на русском языке, например "Администратор", а в GET запросе я должен передать эту переменную в кодировке "%C0%E4%EC%E8%ED%E8%F1%F2%F0%E0%F2%EE%F0".
Подскажите, как это сделать?
-
@teslenko2603 said in Как изменить кодировку переменной:
Суть проблемы: У меня в переменную записывается ник пользователя на русском языке, например "Администратор", а в GET запросе я должен передать эту переменную в кодировке "%C0%E4%EC%E8%ED%E8%F1%F2%F0%E0%F2%EE%F0".
Подскажите, как это сделать?Используйте метод urlencode()
-
@Fox если можно, чуть подробнее
-
-
@Fox ага суть я понял. Но в своем примере я указал реальный код "%C0%E4%EC%E8%ED%E8%F1%F2%F0%E0%F2%EE%F0", который я должен получиль от слова "Администратор". Для этого какой метод нужно использовать?
-
@teslenko2603 said in Как изменить кодировку переменной:
@Fox ага суть я понял. Но в своем примере я указал реальный код "%C0%E4%EC%E8%ED%E8%F1%F2%F0%E0%F2%EE%F0", который я должен получиль от слова "Администратор". Для этого какой метод нужно использовать?
Ваша строка "%C0%E4%EC%E8%ED%E8%F1%F2%F0%E0%F2%EE%F0", декодируется в слово
Àäìèíèñòðàòîð
И это слово корректно кодируется в вашу строку:
Как я и предполагал, проблема в кодировке
https://snipp.ru/handbk/url-codeЯ не нашёл готового метода или функции для перевода, по этому проще сделать регуляркой замену.
Почему то не смог пройти мимо и написал функцию замены кода символа utf-8 на ansii с последующем кодированием:
function esc(input) { var str = "" for (var i = 0; i < input.length; i++) { str += String.fromCharCode(input[i].charCodeAt() - 848) } return escape(str) }
Функция преобразовывает только кирилицу, для пробелов и прочих знаков нужно добавлять условия charCodeAt, заниматься этим мне уже некогда:
esc("Администратор") //"%C0%E4%EC%E8%ED%E8%F1%F2%F0%E0%F2%EE%F0"
-
@Fox исходная кодировка : WINDOWS-1251
https://2cyr.com/decode/?lang=ru
раскодирует корректно
-
@Bigma said in Как изменить кодировку переменной:
@Fox исходная кодировка : WINDOWS-1251
https://2cyr.com/decode/?lang=ru
раскодирует корректноХорошо, только у топикастера был вопрос: Как слово "Администратор" превратить в "%C0%E4%EC%E8%ED%E8%F1%F2%F0%E0%F2%EE%F0".
И я упомянул, что проблема была в кодировке