У меня была похожая проблема. У меня есть текстовый файл с данными JSON, который имеет французский текст. Всегда была проблема с отображением некоторых символов. В моем случае программа JavaScript использует Ajax для получения текстового файла json следующим образом:
$.ajax({
async: false,
type: 'GET',
url: 'some-url',
success: function(data, status) {
mainController.constructionStageMaster = data.records;
}
});
Возвращенные данные всегда имели неверные французские буквы с акцентом.
Текст JSON выглядит следующим образом:
{
"records": [
{
"StageDesc": "Excavation, Fondation et Bases",
"Allowed": 9,
"Completed": 0,
"TotalCompleted": ""
},
{
"StageDesc": "Étanchement et Remblayage",
"Allowed": 3,
"Completed": 0,
"TotalCompleted": ""
},
{
"StageDesc": "Encadrement et revêtement mural intermédiaire",
"StageDesc_fr": "Encadrement et revêtement mural intermédiaire np++",
"StageDesc_fr2": "Encadrement et revêtement mural intermédiaire",
"Allowed": 15,
"Completed": 0,
"TotalCompleted": ""
}
...
]
}
Обратите внимание, что в приведенном выше примере данных, 3-й элемент, я поместил текст с правильными é
и неправильными ê
буквами с французским акцентом.
К вашему сведению, похоже, что существует некоторая глобальная конфигурация проекта Eclipse, использующая кодировку символов ISO-8859-1
. В вашем случае это может быть другая кодировка.
После проверки вышеуказанных решений и игры с проектом, вот что решило мою проблему:
- Найти источник текста с правильным отображением французского текста
- Скопируйте текст
- Перейти к Eclipse, открыть текстовый файл с данными
- Щелкните правой кнопкой мыши файл в проводнике, откройте свойства и измените кодировку на
ISO-8859-1
- Исправьте текст так, чтобы он отображался правильно. Используйте копирование / вставку или клавиатуру
- Возможно, вам придется использовать клавиши со стрелками на клавиатуре (влево / вправо), чтобы убедиться в отсутствии скрытых букв-преступников, которые будут отображаться в HTML со смешной формой. Удалить такое скрытое письмо
- Сохранить файл
Теперь, в моем случае, я не указал никаких опций кодирования в вызове Ajax, и он работает нормально. Кроме того, если я изменю кодировку текстового файла с данными json, он все равно будет работать нормально.
Тарек