Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№122-08-2009 05:42:15

zibloid
Участник
 
Группа: Members
Зарегистрирован: 22-08-2009
Сообщений: 16
UA: Safari 4.0

SQLite кодировка

Всем привет! Учусь создавать расширения для ФФ +  тута первый раз, просьба не пинать и если пропрусь...
Вопщем решил поработать с SQLite, когда ввожу в БД рускую строку, то в БД потом кракозяблы...
Пробывал применить nsIScriptableUnicodeConverter, но видимо делаю это не правильно.
Подскажите пожалуйста куда копать...

Отсутствует

 

№222-08-2009 06:14:30

zibloid
Участник
 
Группа: Members
Зарегистрирован: 22-08-2009
Сообщений: 16
UA: Safari 4.0

Re: SQLite кодировка

Делаю все таким образом:

Выделить код

Код:

var $db_file = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get('ProfD', Components.interfaces.nsIFile);
    $db_file.append("new_db.sqlite");
    
var sqlite = Components.classes["@mozilla.org/storage/service;1"].getService(Components.interfaces.mozIStorageService);
var $db=sqlite.openDatabase($db_file);

var $request=$db.createStatement("CREATE TABLE IF NOT EXISTS test (id TEXT, name TEXT)");
    $request.execute();

var $request=$db.createStatement("INSERT INTO test VALUES ('id_00','English string')");
    $request.execute();
    
var $request=$db.createStatement("INSERT INTO test VALUES ('id_01','Русская строка')");
    $request.execute();
    
var $request=$db.createStatement("SELECT * FROM test");

var str=new String();
    while($request.executeStep())
    {
        let id=$request.row.id;
        let name=$request.row.name;
        str+='id : '+id+'   name : '+name+'\n';
    }
    alert(str);

Если nsIScriptableUnicodeConverter способна помочь, то на каком этапе ее использовать... Когда делаю инсерт в БД или когда делаю выборку... Пробовал на обоих этапах нафига...

Отредактировано zibloid (22-08-2009 06:17:27)

Отсутствует

 

№322-08-2009 06:30:30

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.5

Re: SQLite кодировка

Файл скрипта нужно сохранить в UTF-8.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№422-08-2009 06:36:16

zibloid
Участник
 
Группа: Members
Зарегистрирован: 22-08-2009
Сообщений: 16
UA: Safari 4.0

Re: SQLite кодировка

Infocatcher, спасибо помогло!!! Тему можно закрыть :)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]