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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№127-02-2009 13:43:11

aikus
Участник
 
Группа: Members
Зарегистрирован: 29-07-2008
Сообщений: 5
UA: Firefox 2.0

Как записать в файл кирилицу?

Вместо:

Выделить код

Код:

blank.mess = "Ураааа!!!!!!!";//текст сообщения

получаю
#@0000!!!!!!!
Это если файл в utf-8 сохранён
А если в cp1251, вообще 6 букв "ы".
создаю объект файла кодом

Выделить код

Код:

var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath (fileName);

объект записи

Выделить код

Код:

var JS_FILE_WRITE = 0x02;
var outputStream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
outputStream.init (file, JS_FILE_WRITE, 0644, null);

Где не прав?

Отсутствует

 

№227-02-2009 16:06:47

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.0
Веб-сайт

Re: Как записать в файл кирилицу?

Строки в JavaScript хранятся в unicode, не в utf-8.
Если нужна другая кодировка, надо перекодировать поток. Вот подходящий кусок кода из FileIO:

Выделить код

Код:

fromUnicode : function(charset, data) {
            try {
                var uniConv = Components.classes[this.suniconvCID]
                                    .createInstance(this.suniconvIID);
                uniConv.charset = charset;
                data = uniConv.ConvertFromUnicode(data);
                // data += uniConv.Finish();
            }
            catch(e) {
                // foobar!
            }
            return data;
        }

Добавлено 27-02-2009 16:18:45
чёрт, забыл:

Выделить код

Код:

suniconvCID   : '@mozilla.org/intl/scriptableunicodeconverter',
        suniconvIID   : Components.interfaces.nsIScriptableUnicodeConverter,

прошу прощения


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№327-02-2009 18:27:28

ipSlicer
Участник
 
Группа: Members
Зарегистрирован: 25-02-2009
Сообщений: 6
UA: Firefox 3.0

Re: Как записать в файл кирилицу?

aikus
http://forum.mozilla-russia.org/viewtopic.php?pid=298374#p298374

рабочий пример

Отсутствует

 

Board footer

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