megapup,
JavaScript не зависит от кодировки страницы, он оперирует всегда с Unicode (что есть не кодировка, а таблица символов). Если вы сделаете alert('н') и увидите на экране действительно букву н, тогда и код у неё будет правильный.
Из этого следует, что вопросами кодировок занимается браузер, а не JavaScript, и пытаться решить проблему с кодировками на JavaScript бесполезно. Или отдавайте правильные заголовки, чтобы браузер понимал, в какой кодировке ваш скрипт, или пишите исходники только с латинскими символами.
Важно, знает ли об этом браузер. Поэтому не забывайте сообщать ему об этом в HTTP-заголовках.
Важное замечание: IE6 не умеет использовать на одной странице ресурсы в разных кодировках. Поэтому если у вас страница в кодировке X, то и все внешние скрипты/стили должны быть также в кодировке X. Для остальных браузеров это не критично, главное в заголовках кодировку указывать.