В расширении Firefox я открываю файл базы данных и выводя содержимое базы данных. Однако Firefox некорректно отображает некоторые символы, предположительно из-за проблемы с кодировкой. Я попытался открыть файл базы данных в SQLite Database Browser и правильно отобразить столбец имен.Как сохранить кодировку символов запроса базы данных
Как правильно обработать эту текстовую строку, чтобы она выводила символы, как я предполагал (например, Caché
, а не Caché
)?
Фрагмент кода, который воспроизводит эту проблему:
var StorageService = Cc["@mozilla.org/storage/service;1"]
.getService(Ci.mozIStorageService);
_Conn = StorageService.openDatabase(file);
var stmt = _Conn.createStatement("Select name from data");
var RunQuery = function() {
return {
arr: [],
handleResult: function (aResultSet) {
var row = aResultSet.getNextRow();
alert([row.getResultByName("name"), 'Cach\u00E9']);
},
handleError: function (aError) {},
handleCompletion: function (aReason) {}
};
};
stmt.executeAsync(RunQuery());
Выход: Caché,Caché
Предназначенный Выход: Caché,Caché
Вы должны преобразовать строки из UTF-8 в любой кодировки Firefox ожидает. –