0iStalker
> Вот это принудительное процентное кодирование url c кириллицей, прям бесит... причём FF и Brave умудряются кодировать прямо в момент вставки
В самом urlbar оно у тебя выглядит нормально же? А чтобы скопировать оттуда ссылку с кириллицей без процентного кодирования, то просто пробел добавь в конце, и копируй с ним.
0iStalker
наоборот хорошо ведь, и оно должно быть для всего кроме латиницы если не хочешь нарваться на фишинговый сайт название которого будет 100% визуально совпадать с оригиналом.
0iStalker
> причём FF и Brave умудряются кодировать прямо в момент вставки
А в чем проблема-то? Ты про то, что написанный кириллицей адрес из адресной строки не удается выдернуть в кириллическом представлении?
Dmitry_Milk
> А в чем проблема-то? Ты про то, что написанный кириллицей адрес из адресной строки не удается выдернуть в кириллическом представлении?
Выдернуть удаётся, оно потом при вставке опять через процентное кодирование вставляется. А проблема в том, что веб-движки такую ссылку всё равно некорректно обрабатывают и она в итоге указывает не туда.
0iStalker
> проблема в том, что веб-движки такую ссылку всё равно некорректно обрабатывают и она в итоге указывает не туда
Так вроде в веб-движки не должно никакой кириллицы приходить, по стандарту HTTP не может в урле быть таких символов.
Aroch
> наоборот хорошо ведь, и оно должно быть для всего кроме латиницы если не хочешь нарваться на фишинговый сайт название которого будет 100% визуально совпадать с оригиналом.
Это же не про процентное кодирование урл, а про punycode доменного имени. Я думаю при смешивании символов с разных алфавитов браузеры по умолчанию сделают это преобразование, но можно в настройках зафорсировать через network.IDN_show_punycode true.
В чём у 0iStalker проблема я до конца не понял. У меня ссылки с кириллицей визуально выглядят нормально в адресной строке. При копировании надо любой символ в конце сначала добавить, чтобы в буфер обмена не попали проценты
Насколько я помню в стандарте HTTP просто вообще никак не оговорено в какой кодировке представлена первая строка запроса и по моему даже заголовки. Кроме того, что должна быть валидна ASCII никаких стандартов нет. Поэтому URL запроса как бы вне юрисдикций всяких и молчаливо предполагается, что там могут быть только ASCII. Даже UTF-8 нельзя - надо кодировать UTF-8 тоже экранированием через %.
При этом однако чисто программно никто не мешает туда запулить всё что душе угодно и как угодно относится к этому на стороне веб-сервера при парсинге - но есть такое вот умолчание по умочанию для движков серверов и браузеров.
entryway
> В чём у 0iStalker проблема я до конца не понял.
Мне надо кирилицей юрл из вики (например), для человекочитаемости а он перекодируется в %%% билеберду, хотя в в буфере обмена оно лежит как мне надо, кириллицей
>У меня ссылки с кириллицей визуально выглядят нормально в адресной строке
Без разницы, как оно в адресной строке выглядит, оно вставляется, как билеберда в поля для ввода текста
entryway
> Это же не про процентное кодирование урл, а про punycode доменного имени.
Зависит от места, куда попадает. Если после имени домена (путь, часть пути или параметры) - то эту часть автоматом в проценты превращает.
0iStalker
> для человекочитаемости
Все равно непонятно. В адресной строке-то он кириллицей и останется, хоть в имени домена, хоть в пути, хоть в параметрах. Что там нечеловекочитаемого?
А если про попадание в движок - причем тут человекочитаемость?
0iStalker
По дефолту если юникод в адресную строку вставлять, то лисица превращает в UTF-8 и его автоматически экранирует.
Просто имей ввиду.
Дезориентирует больше то, что она продолжает отображать юникодные символы как будто бы их не экранировала - вот тут да, это дезориентирует.
0iStalker
> оно вставляется, как билеберда в поля для ввода текста
Оно вставляется как белиберда, если ты его взял из строки адреса, потому что оно оттуда уже берется как белиберда.
А вставляется в поля ввода именно так, как лежит в клипборде, ничего не превращается.
Dmitry_Milk
> Оно вставляется как белиберда, если ты его взял из строки адреса, потому что оно оттуда уже берется как белиберда.
>
Нед, если поставить перед https... знак пробела и так скопировать, оно копируется как текст, без %%% и вставляется текстом в нотепад или командную строчку FAR, а вот потом, если из нотепада или FAR'а опять скопировать в буффер обмена и вставить в текстовое поле в браузере, оно зачем-то опять перекодирует в %%%... пара таких фрикций и начинает бесить. В старом Chrome было достаточно вставить пробел перед адресом, чтобы получить нужный результат.
Dmitry_Milk
> А если про попадание в движок - причем тут человекочитаемость?
Я про веб-движок, не в смысле движок браузера, а про форумные/javascript движки, которые текстовые урл преобразуют в настоящие урл, их частенько ломает от процентного кодирования и человекочитаемого урл в запощенном сообщении не получить.
0iStalker
> а вот потом, если из нотепада или FAR'а опять скопировать в буффер обмена и вставить в текстовое поле в браузере, оно зачем-то опять перекодирует в %%%
Что такое "текстовое поле в браузере"? Вот я сюда вставлю сейчас, это не текстовое поле что ли?
https://ru.wikipedia.org/wiki/Магазин
0iStalker
> а вот потом, если из нотепада или FAR'а опять скопировать в буффер обмена и вставить в текстовое поле в браузере, оно зачем-то опять перекодирует в %%%
У меня такого не наблюдается. Если копирую не из адресной строки, а из нотепада, например, то вставляется (в поля ввода) именно то, что скопировано.
В движок, конечно, содержимое поля будет передаваться в html-form кодировке, если поля отправляются из формы, а не жсоном через аякс. Но, в движке же обратная декодировка всех этих параметров, и там конечная строка, соответствующая значению параметра, тоже будет кириллической.