@viktorross

Почему не везде правильная кодировка?

Здравствуйте, почему при загрузке ссылки в социальные сети текст отображается не везде в правильной кодировке?
проблема с русскими символами
на сайте установлено
<meta charset="utf-8"> никаких проблем на сайте с кодировкой нет, все отображается нормально
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 2
hint000
@hint000
у админа три руки
Это сам браузер "хулиганит", нормализует URL.
https://ru.wikipedia.org/wiki/Internationalized_Re...
https://ru.wikipedia.org/wiki/URL#Кодирование_URL
https://ru.wikipedia.org/wiki/Нормализация_URL
Не знаю, есть ли какой-то правильный способ (какая-то настройка в браузере), но я для себя это решаю костыльным способом. Если выделить не всю ссылку, а её часть, то она копируется нормально. Достаточно первую букву не выделять, вот так: ttps://site... После вставки эту букву можно дописать руками. Без первой буквы браузер не распознаёт это как правильный URL, поэтому ничего не перекодирует, оставляет как есть, т.е. как нам и нужно было.

Замечу, что это не является какой-то ошибкой, в принципе браузер хочет "как лучше для всех". Представьте, что такую ссылку захочет открыть кто-то в Китае, в Индии или в США. Не факт, что ссылка с русскими буквами правильно откроется в браузере, т.к. руские буквы могли быть на каком-то этапе действительно неправильно перекодированы. А вот ссылка в такой кодировке - %D0%9F%D0%B5 - универсальна, она в любой стране выглядит одинаково, и везде откроется. Но когда сайт полностью русскоязычный и не нужна эта универсальность, то приходится вот использовать костыли :)
Ответ написан
Комментировать
Vapaamies
@Vapaamies
Разработчик будущей ОС для ПК размером 250 МБ
https://site/25490-%D0%9F%D0%B5%D1%81%D0%BA%D0%BE%D1%81%D1%82%D1%80%D1%83%D0%B9%D0%BD%D0%B0%D1%8F-%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B0-%D1%80%D0%B0%D0%BC%D1%8B-%D0%BE%D1%82-%D0%B2%D0%BD%D0%B5%D0%B4%D0%BE%D1%80%D0%BE%D0%B6%D0%BD%D0%B8%D0%BA%D0%B0-%D0%B4%D0%B6%D0%B8%D0%BF/details.html

В этой ссылке всё правильно. Еще IE 4 умел кодировать международные ссылки в UTF-8. К кодировке содержимого страниц это никак не относится.

Проблема не в браузере, а в сервере. Веб-сервер должен правильно интерпретировать входящие ссылки в UTF-8 и перекодировать их в кодировку файловой системы (или что там у вас, если не файлы), если она отличается.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы