Страницы: 1
значит работаю с файлами а именно чтение запись, да вот все хорошо да только русский текст кракобязами выходит
что делаю, создаю текстовый файл с кирилицей типа "я люблю фаер фокс!!!" , далее следующий код с моего любимого MDC
const nsIFilePicker = Components.interfaces.nsIFilePicker; var fp = Components.classes["@mozilla.org/filepicker;1"] .createInstance(nsIFilePicker); fp.init(window, "Dialog Title", nsIFilePicker.modeOpen); fp.appendFilters(nsIFilePicker.filterAll | nsIFilePicker.filterText); var rv = fp.show(); if (rv == nsIFilePicker.returnOK || rv == nsIFilePicker.returnReplace) { var file = fp.file; var path = fp.file.path; var istream = Components.classes["@mozilla.org/network/file-input-stream;1"]. createInstance(Components.interfaces.nsIFileInputStream); istream.init(file, 0x01, 0444, 0); istream.QueryInterface(Components.interfaces.nsILineInputStream); // read lines into array var line = {}, lines = [], hasmore; do { hasmore = istream.readLine(line); lines.push(line.value); } while(hasmore); istream.close(); // do something with read data alert(lines); }
и на выходе в алерте получаем ÿ ëþáëþ ôàåð ôîêñ!!!
ЧТО ДЕЛАТЬ?
Отсутствует
bidlocoder
Может дело в кодировке при сохранении? .... обычно рекомендуют выставлять UTF-8 ,только не знаю тот ли это вообще случай
Отсутствует
так с русским текстом разобрался оказалось все просто
var uniConv = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Components.interfaces.nsIScriptableUnicodeConverter); uniConv.charset = "utf-8"; lines = uniConv.ConvertFromUnicode(lines); alert(lines);
русский текст есть, но теперь проблема, хотя она и была(не замечал раньше) не выводятся символы переноса строки тоесть вместо него ничего нет, как теперь с этим бороться
для примера если вывести файл содержимое которого
то на выходе получаем
как с этим бороться?
Отсутствует
Страницы: 1