Не тестировал в других браузерах, но суть, что nginx настроен, по дефолту, как utf-8.
И всё идет гладко, пока не доходит до CSS с кириллицей. Типа:
[data-trainbrand="САПСАН"] {}
В моем chrome оно превращается во что-то типа (это не моя пара кодирование, но для наглядности
[data-trainbrand="‘ЂЏ‘ЂЌ"] {}
В Content-Type стоит "text/css" и больше ничего. Никаких utf-8 или cp1251.
Не очень понимаю дальнейшую механику работы браузера с этой кашей,
но, естественно, никакие перекодированные из utf-8 в cp1251 не будут
работать на HTML utf-8
Проблему решил выставлением жестко через дерективу server следующего куска конфига nginx:
location ~ \.css {
proxy_hide_header Content-Type;
add_header Content-Type "text/css; charset=UTF-8";
}
А теперь вопросы:
— Почему кусок конфига из документации, не выставляет кодировку в Content-Type
— С какого Chrome решает, что нужно декодировать документ в локальную виндовую кодировку
<code lang="nginx">
include conf/win-utf
charset utf-8;
source_charset utf-8;
</code>
Спасибо.