point111
16.02.2010, 17:56
загружаю внешний XML, у него в заголовке encoding="Windows-1251", в AS2 прописано System.useCodepage = true;
для того, чтобы сделать перевод строки хочу использовать %0A, для этого делаю unescape текста, %0A работает, но текст меняет кодировку, если unescape не делать, то кодировка отображается верно.
если в XML поменять заголовок на encoding="UTF-8" и сохранить его в этой кодировке а System.useCodepage отключить, то unescape работает правильно - и кодировку не меняет и строку переносит.
Но мне надо, чтобы XML был в Win-1251 - его пользователь должен настраивать, а не все юзера в курсе что такое UTF-8
/n вставленный в текст почему-то не работает, наверное что-то надо включить, а что, не знаю...
System.useCodepage = true;
_root.createTextField ("size_txt",1,10,10,300,120);
size_txt.wordWrap = true;
var text_from_xml:XML = new XML();
text_from_xml.ignoreWhite = true;
Load_txt_from_XML_fn("testcode.xml");
function Load_txt_from_XML_fn(content_xml) {
text_from_xml.load(content_xml);// что загрузить
text_from_xml.onLoad = loadData;// запустить когда загрузится
function loadData(success) {
if (success == true) {
rootNode = text_from_xml.firstChild;//перый узел
size_txt.text = unescape(rootNode.childNodes[2].attributes.value);
//size_txt.text =rootNode.childNodes[2].attributes.value;
size_txt._height = 400;
trace (text_from_xml)
} else {
trace("no text_from_xml");
}
}
}
<?xml version="1.0" encoding="Windows-1251"?>
<response command="settings">
<status>
<success/>
</status>
<setting id="head" value="TRI-LOGIC BLUE"/>
<setting id="copy" value="Самый %0Aоригинальный %0A%0A%0Aпредставитель семейства WEST /nTRI-LOGIC/n/nМягкий гармоничный вкус BLUE достигается благодаря идеальному балансу смолы\никотина и сочетанию табаков высшего качества. Новый угольный фильтр позволит Вам почувствовать лучшее в направлении American Blend. Отвечающая современным тенденциям пачка BLUE выгодно отличает эти сигареты, подчеркивая Вашу индивидуальность!"/>
</response>
для того, чтобы сделать перевод строки хочу использовать %0A, для этого делаю unescape текста, %0A работает, но текст меняет кодировку, если unescape не делать, то кодировка отображается верно.
если в XML поменять заголовок на encoding="UTF-8" и сохранить его в этой кодировке а System.useCodepage отключить, то unescape работает правильно - и кодировку не меняет и строку переносит.
Но мне надо, чтобы XML был в Win-1251 - его пользователь должен настраивать, а не все юзера в курсе что такое UTF-8
/n вставленный в текст почему-то не работает, наверное что-то надо включить, а что, не знаю...
System.useCodepage = true;
_root.createTextField ("size_txt",1,10,10,300,120);
size_txt.wordWrap = true;
var text_from_xml:XML = new XML();
text_from_xml.ignoreWhite = true;
Load_txt_from_XML_fn("testcode.xml");
function Load_txt_from_XML_fn(content_xml) {
text_from_xml.load(content_xml);// что загрузить
text_from_xml.onLoad = loadData;// запустить когда загрузится
function loadData(success) {
if (success == true) {
rootNode = text_from_xml.firstChild;//перый узел
size_txt.text = unescape(rootNode.childNodes[2].attributes.value);
//size_txt.text =rootNode.childNodes[2].attributes.value;
size_txt._height = 400;
trace (text_from_xml)
} else {
trace("no text_from_xml");
}
}
}
<?xml version="1.0" encoding="Windows-1251"?>
<response command="settings">
<status>
<success/>
</status>
<setting id="head" value="TRI-LOGIC BLUE"/>
<setting id="copy" value="Самый %0Aоригинальный %0A%0A%0Aпредставитель семейства WEST /nTRI-LOGIC/n/nМягкий гармоничный вкус BLUE достигается благодаря идеальному балансу смолы\никотина и сочетанию табаков высшего качества. Новый угольный фильтр позволит Вам почувствовать лучшее в направлении American Blend. Отвечающая современным тенденциям пачка BLUE выгодно отличает эти сигареты, подчеркивая Вашу индивидуальность!"/>
</response>