Согласно стандарту HTML5, стандартная кодировка страницы - UTF-8. А вот с JavaScript всё сложнее.
Пусть у нас есть какой-то JSON. Напишем функцию, которая его возвращает:
Сохраняем в отдельный файл, привязываем через <script>. Пытаемся вывести в консоль:
В консоли будет JSON с полями на неведомом языке. Хотя, как подтверждает view.encoding() в консоли Sublime, все файлы - в UTF-8.
А если добавить вывод чего-то кириллического прямо на экран?
Внезапно, кодировка починилась. Видимо, кодировка выставляется по первому вызову.
Лечится мета-тегом:
Проверено в Firefox и Chrome.
Пусть у нас есть какой-то JSON. Напишем функцию, которая его возвращает:
function getOutlineJson() { return { "title" : "Элемент1" }; }
Сохраняем в отдельный файл, привязываем через <script>. Пытаемся вывести в консоль:
document.addEventListener('DOMContentLoaded', function() { console.log(getOutlineJson()); });
В консоли будет JSON с полями на неведомом языке. Хотя, как подтверждает view.encoding() в консоли Sublime, все файлы - в UTF-8.
А если добавить вывод чего-то кириллического прямо на экран?
document.addEventListener('DOMContentLoaded', function() { console.log("проверка консоли"); console.log(getOutlineJson()); });
Внезапно, кодировка починилась. Видимо, кодировка выставляется по первому вызову.
Лечится мета-тегом:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
Проверено в Firefox и Chrome.
Комментариев нет:
Отправить комментарий