Итак, на прошлой неделе одно из наших приложений начало отображать странную ошибку: знаки €
отображаются как знаки €
. Немного покопавшись, я заметил, что это происходит с каждой отображаемой ценой, которая проходит через функцию форматирования. Поэтому проверка исходного кода в devtools показала, почему мы видим другого персонажа:
return "€ " + x1 + ",-"
Итак, похоже, что сценарий обслуживается с другой кодировкой, чем UTF-8. Исходный код четко показывает знак евро в этой строке, но вкладка исходного кода в Chrome devtools говорит иначе.
Я тестировал его в нескольких браузерах, где Firefox, IE 11 и Edge правильно показывали знак евро. Опера не сделала, так что похоже, что это проблема Webkit?
Если я полностью обновляю страницу в Chrome (Ctrl + Shift + R), все выглядит хорошо, и все знаки евро отображаются правильно.
В этом вопросе говорится, что символ €
отображается, поскольку для рендеринга используется ISO-8859-1 (без знака евро). Возможно ли, чтобы Webkit просто выбрал другую кодировку для разбора файлов JavaScript с UTF-8?