text/html; charset=windows-1251
(или любая другая кодировка, не соответствующая действительности) - то перенастроить, чтобы кодировка была правильная в заголовке. Кодировка в заголовке имеет приоритет над кодировкой, указанной в мета-тэге (по крайней мере, в Firefox и Chrome, в других браузерах не тестировал), потому даже если в мета-тэге указана правильная кодировка, в заголовке всё равно может при этом неправильная быть и из-за этого отображаться неправильно. wrap.insertAdjacentHTML("afterbegin", [...elem].join(''))