Я попытался локализовать свое веб-приложение с помощью jquery.i18n, но у меня возникли проблемы с умляутами.
На моей странице jsp я установил следующее:
<meta charset = "utf-8">
<script type = "text/javascript"
src = "script.js"
charset = "utf-8"></script>
<label data-i18n = "specification"> Specification / Ausprägung </label>
script.js
$(document).ready(
function() {
//onload
$.i18n().load({
'de' : '/js/i18n/de.json'
}).done(
function() {
$.i18n().locale = 'de';
$('body').i18n();
});});
И de.json:
{
"@metadata": {
"authors": [
"xyz"
],
"last-updated": "2018-06-06",
"locale": "de"
},
"specification" : "Ausprägung"
}
но все, что я получаю, это Auspr�gung. Помимо умляутов, jquery.i18n работает нормально. Как я могу использовать кодировку utf-8?
@ ÁlvaroGonzález, спасибо тебе огромное, я скучал по этому поводу. Я установил кодировку eclipse на utf-8 и увидел такой же неправильный знак в моем файле json. Пожалуйста, добавьте это как ответ, чтобы я мог его исключить.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


UTF-8 должен быть по умолчанию для любой библиотеки в настоящее время, и jquery.i18n, хотя и не является передовым, кажется серьезным проектом. Будучи точным, интерпретатор JavaScript автоматически проанализирует исходный код, закодированный как UTF-8, и преобразует строки во внутреннюю кодировку. Готов поспорить, библиотека работает с любой кодировкой из коробки, если она правильно объявлена (например, отправив правильный заголовок Content-Type).
Символ � в Auspr�gung является типичным признаком однобайтовой кодировки, ошибочно интерпретируемой как UTF-8. Ваш редактор, вероятно, настроен на сохранение файлов как ANSI (Windows-1252 или что-то еще), но стек настроен на использование UTF-8.
UTF-8 должен быть по умолчанию для любой библиотеки в 2018 году. Использует ли ваш код / приложение UTF-8 в качестве кодировки?