charset_map
Директива charset_map задаёт соответствие наборов символов их эквивалентным MIME-компонентам в NGINX. — NGINX HTTP Core
Описание
Директива `charset_map` позволяет задавать, каким образом разные кодировки символов должны отображаться на MIME-компоненты в контексте `http` NGINX. Это особенно полезно для того, чтобы содержимое, обслуживаемое NGINX, корректно указывало свою кодировку символов, что может влиять на отображение контента в браузерах. Каждая запись в блоке `charset_map` состоит из исходной и целевой кодировок, позволяя при необходимости выполнять преобразование между различными кодировками. Директива действует в контексте `http` и настраивается с помощью блочной структуры, содержащей ряд записей в формате `charset source_charset destination_charset;`. Например, если определённую кодировку нужно трактовать как другую — например, сопоставить `latin1` с `utf-8` — это можно объявить в этом блоке. Когда NGINX обрабатывает запросы, он просматривает это соответствие, чтобы определить, как поступать с кодировкой символов для содержимого, отправляемого клиентам. Важно убедиться, что определённые соответствия точны и необходимы, поскольку неверная конфигурация может привести к неправильному отображению содержимого в браузерах клиентов. Кроме того, это может иметь решающее значение для интернационализации, когда содержимое должно поставляться в разных языках и кодировках в зависимости от местоположения и предпочтений пользователя.
Пример конфига
charset_map {
charset windows-1251 utf-8;
charset iso-8859-1 utf-8;
};Убедитесь, что все используемые наборы символов поддерживаются и распознаются клиентскими браузерами.
Перекрывающиеся или конфликтующие определения наборов символов могут привести к непредвиденному поведению или некорректному отображению содержимого.
Не забудьте перезапустить NGINX после внесения изменений в charset map, чтобы они вступили в силу.