Из аськи:

пиздец, я сейчас охуею. Два файла HTML, в обоих указано, что кодировка UTF-8, оба в кодировке UTF-8, но один в редакторе открывается как UTF-8, а другой как ISO-8859-1. Как, бля?!

если cat из консоли, то выводится нормальный русский, а в консоли UTF-8. Оба файла одинаково считываются

эти оба без BOM

всё, fixed. Суть собсна в чём, у нас, как оказалось, кривой модуль вывода последних сообщений с форума. Он режет тему не по-символьно, а по-байтово. Так вот, он умудрился в 2-х темах обрезать название не на половине слова, хуй, на половине буквы! Соответственно увидев неведомую ёбаную хуйню вместо валидного символа UTF-8 средней степени адекватности редакторы слали всё нахуй и скатывались к стандартной кодировке, в которой каждый UTF-8 символ представляется двумя абракадабрами и вторую абракадабру не выводил (поскольку она отрезана)

русский UTF-8 символ из 2х байт состоит

Половину не понял, но на заметку взял.