Заметил, что в error.log есть такие строчки: no "charset_map" between the charsets "iso8859-1" and "windows-1251" while reading response header from upstream
это томкат выдает данные с неправильным чарсетом в заголовке - везде пихает iso8859-1, а данные на самом деле в cp1251.
nginx заголовок перезаписывает, потому что charset windows-1251 в конфиге и всё отлично, но в лог мусорит.
Сказал nginx'y charset_map iso8859-1 windows-1251 { } и внезапно полезли кракозябры.
Откуда бы им взяться?