Ага. Ну, в общем то понятно откуда ноги растут. Когда выставлена английская "локаль", то все что не подпадает под cp1252, то кодируется в html-последовательности типо вот такого вот:
Пока сижу
Когда же выставлен русский, то все идет as is в utf8.
В английской локали браузеру говорится, что локаль у нас cp1252 и никакой кириллицы там нет. На самом же деле (при наличии старых и новых сообщений на страничке) в браузер идут html-коды для старых сообщений (см пример выше), которые он тем не менее нормально отображает (для них пофиг на charset текущий), и utf8 символы для новых, которые браузер уже в рамках cp1252 воспроизвести корректно не может. Поэтому если ручками браузеру указать что у нас страничка в utf8, то все становится хорошо.