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

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

№111-09-2006 11:58:57

Vect0r
Участник
 
Группа: Members
Зарегистрирован: 11-09-2006
Сообщений: 2

Проблема с кодировкой в дереве

Выделить код

Код:

<tree id="Tree" datasources="RDF:files" ref="file:///C:" flags="dont-build-content" hidecolumnpicker="true">
  <treecols>
    <treecol id="Name" primary="true" hideheader="true" flex="1"/>
  </treecols>
  <template>
    <rule>
      <treechildren>
        <treeitem uri="rdf:*">
          <treerow>
            <treecell label="rdf:http://home.netscape.com/NC-rdf#Name"/>
          </treerow>
        </treeitem>
      </treechildren>
    </rule>
  </template>
</tree>

Этот код на XUL показывает файловую систему в виде дерева (как проводник). Только вот русские символы отображает некорректно. Кто-нибудь знает, как это можно исправить?

Отсутствует

 

№211-09-2006 20:23:19

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

Re: Проблема с кодировкой в дереве

Скорее всего, только "руками", прочтением и последующим перекодированием tree.database. Лично я других вариантов пока не вижу : (


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

Отсутствует

 

№312-09-2006 20:38:53

Vect0r
Участник
 
Группа: Members
Зарегистрирован: 11-09-2006
Сообщений: 2

Re: Проблема с кодировкой в дереве

А что такое tree.database и где его можно найти?

Отсутствует

 

№413-09-2006 14:55:58

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

Re: Проблема с кодировкой в дереве

database - это свойство элемента <tree>, содержит составной источник данных - localstore+источник данных, формирующий дерево. Возможно, что придётся записывать сначала в файл перед перекодировкой, т. к. на скорую руку сляпанный эксперимент с nsIRDFXMLSerializer:

Выделить код

Код:

<?xml version="1.0" encoding="windows-1251"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window id="mywindow" title="0"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        onload="test();">
        <![CDATA[
var outputStream =
    {
        data: "",
        close: function () {},
        flush: function () {},
        write: function (buffer, count)
        {
            this. data += buffer;
            return count;
        },
        writeFrom: function (stream, count) {},
        isNonBlocking: false
    };
function f ()
{
    var cds = document. getElementById ("Tree"). database;
    var dss = cds. GetDataSources ();
    var ds = null;
    var serializer = Components. classes ["@mozilla.org/rdf/xml-serializer;1"].
                     createInstance (Components. interfaces. nsIRDFXMLSerializer);
    while (dss. hasMoreElements ())
    {
        ds = dss. getNext ();
        if (ds instanceof Components. interfaces. nsIRDFDataSource)
        {
            serializer. init (ds);
            serializer. QueryInterface (Components. interfaces. nsIRDFXMLSource);
            serializer. Serialize (outputStream);
            alert (outputStream. data);
        }
    }
}
        ]]>
<vbox>
<tree flex="1" height="100" id="Tree" datasources="RDF:files" ref="file:///C:/" flags="dont-build-content" hidecolumnpicker="true">
  <treecols>
    <treecol id="Name" primary="true" hideheader="true" flex="1"/>
  </treecols>
  <template>
    <rule>
      <treechildren>
        <treeitem uri="rdf:*">
          <treerow>
            <treecell label="rdf:http://home.netscape.com/NC-rdf#Name"/>
          </treerow>
        </treeitem>
      </treechildren>
    </rule>
  </template>
</tree>
</vbox>
<button label="clickme" onclick="f();"/>

</window>

ломается на строчке

Выделить код

Код:

serializer. Serialize (outputStream);

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

Отсутствует

 

Board footer

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