Вход

Просмотр полной версии : Flash + XML


pasha111
02.11.2007, 15:47
Моя задача состоит в чтении xml и отображении прочитаной информации.
Все работало отлично, но потом мне попался символ "é". Код этого символа - é
Проблема: При чтении этого символа - все слово, в котором содержится этот символ, заменяется квадратиком. (Етот квадратик появляется еще в Стринге, не только в ТекстФилде). Как этого можно избежать?

Пробывал руками в xml менять этот символ на его код - все работает отлично. Но у меня больше тысячи xml + подобных символов может быть много....:confused:

Kinsler
02.11.2007, 17:30
на крайняк есть такая штука - автозамена называется
к примеру программа homesite умеет менять в указанной папке во всех файлах в ней один символ или последовательность символов на другие ...
тоже самое умеет dreamweaver и думаю еще не один десяток программ

Snut
02.11.2007, 17:54
pasha111, боюсь то что Kinsler предложил - единственный выход.

udaaff
02.11.2007, 22:49
В UTF-8 XML сохранять надо.

Infectedcell
02.11.2007, 22:59
на крайняк есть такая штука - автозамена называется
к примеру программа homesite умеет менять в указанной папке во всех файлах в ней один символ или последовательность символов на другие ...
тоже самое умеет dreamweaver и думаю еще не один десяток программ
Угу, прав на 100%
Во всех программах, ctrl+H, заменить ВЕЗДЕ.

Ну а вообще,
определись сколько символов таких у тебя может быть (по максимуму),
и прежде чем вставлять в текстфилд, меняй эти символы программно, прямо в коде, это не сложно, если принаровится, я так заменял кавычки, скобки и прочую лабуду...
думаю в твоем случае тож можно попробовать (ANSCII коды то одни и теже, для одних и тех же символов)...

Ну и само собой, как отписал udaaff - UTF-8

udaaff
02.11.2007, 23:11
Способ замены символа:
e.txt
<root>éСéлéоéвéоé</root>
var my_txt:TextField = createTextField("txt", 1, 20, 20, 200, 50);
my_txt.border = true;

var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function() {
var str:String = xml.firstChild.firstChild.nodeValue;
my_txt.text = replace(str, "é", ""); // Cлово
};
xml.load("e.txt");

function replace(src:String, sep:String, del:String):String {
return src.split(sep).join(del);
}