Хорошо, я смог найти ответ на свою проблему. Я написал другую функцию, которая декодирует символьные объекты HTML, заменив код HTML их ключом.
Например:
Préparation
становится préparation
.
Вот эта функция:
decode: function(string) {
var map = {
'"': '"',
'à' : 'à',
'á' : 'á',
'â' : 'â',
'ã' : 'ã',
'ä' : 'ä',
'å' : 'å',
'æ' : 'æ',
'ç' : 'ç',
'è' : 'è',
'é' : 'é',
'ê' : 'ê',
'ë' : 'ë',
'ì' : 'ì',
'í' : 'í',
'î' : 'î',
'ï' : 'ï',
'À' : 'À',
'Á' : 'Á',
'Â' : 'Â',
'Ã' : 'Ã',
'Ä' : 'Ä',
'Å' : 'Å',
'Æ' : 'Æ',
'Ç' : 'Ç',
'È' : 'È',
'É' : 'É',
'Ê' : 'Ê',
'Ë' : 'Ë',
'Ì' : 'Ì',
'Í' : 'Í',
'Î' : 'Î',
'Ï' : 'Ï',
'\'' : '''
};
var entityMap = map;
for (var key in entityMap) {
var entity = entityMap[key];
var regex = new RegExp(entity, 'g');
string = string.replace(regex, key);
}
return string;
}
Тогда я просто вызвал его в коде OP прямо перед возвратом окончательного значения:
finalVal = DecodeUtils.decode(finalVal);
return finalVal + '\n';
Вот и все. Я надеюсь, что это поможет кому-то еще с подобной проблемой.