Javascript может сообщать только о некоторых вещах, которые происходят. Большинство браузеров не предоставляют вам достаточно полезных настроек, чтобы вы могли основывать на них любые хардкорные тесты.
Существуют такие вещи, как document.inputEncoding
, document.characterSet
(не IE), document.charset
и document.defaultCharset
(IE), которые могут помочь вам в этом. Но они могут быть такими же облезлыми, как и фактическая поддержка. То есть, если браузер «думает», что он поддерживает кодировку, но на самом деле это не так, разве это не то, что вы хотите знать?
Я думаю, что вам лучше всего настроить динамическую тестовую страницу с некоторыми довольно сложными символами (или очень большим набором тестов), загрузить тест в браузере, заставить браузер сообщать строку идентификатора браузера, настройки кодировки, исходный запрос на кодировку и содержимое testElement.innerHTML
, которое затем можно сравнить с ожидаемыми результатами.