Форум: "Начинающим";
Текущий архив: 2013.11.17;
Скачать: [xml.tar.bz2];
ВнизTXMLDocument проблема с кодировкой Найти похожие ветки
← →
Очень Злой (2013-02-11 11:42) [0]
...
EDDirname: TEdit;
...
var
xnode:IXMLNode;
vnode:IXMLNode;
mainnode:IXMLNode;
begin
with TXMLDocument.Create(self) do
try
Active:=true;
...
mainNode:=AddChild("DECLAR");
...
xnode:=mainnode.AddChild("DECLARHEAD");
...
xnode.AddChild("HBOS").Text:=EDDirName.Text;
...
SaveToFile(outfilename);
Active:=false;
finally
free;
end;
...
В итоге нужная строка в полученном xml-файле имеет 16-битную кодировку... А мне нужна 8-битная. Как сделать?
← →
Dimka Maslov © (2013-02-11 11:49) [1]Не бывает ни 16-битной, 8-битной кодировок. У них у всех есть вполне определённые названия и характеристики.
← →
Плохиш © (2013-02-11 12:04) [2]
> Очень Злой (11.02.13 11:42)
Не царское это дело хелпы читать.
← →
Очень Злой (2013-02-11 12:08) [3]
> Не бывает ни 16-битной, 8-битной кодировок. У них у всех
> есть вполне определённые названия и характеристики.
Ну вроде получается UTF-8, русские буквы кодируются двумя байтами...
А мне нужно чтобы строка например "Вася Пупкин" имела такой вид:
C2 E0 F1 FF 20 CF F3 EF EA E8 ED
← →
Очень Злой (2013-02-11 12:12) [4]Вобщем вместо UTF-8 мне нужна windows-1251
← →
Dimka Maslov © (2013-02-11 12:12) [5]Что это за вид? Я такой кодировки не знаю.
← →
Очень Злой (2013-02-11 12:14) [6]
> Что это за вид? Я такой кодировки не знаю.
windows-1251
← →
Dimka Maslov © (2013-02-11 12:15) [7]Вот с этого и надо было начинать. Сохраняем файл, читаем его через TStringList и сохраняем в нужной кодировке, не забыв её перепрописать в заголовке xml. А вообще, чтобы работало везде и правильно, про Windows-1251 надо забыть, как в своё время забыли про DOS-866.
← →
Медвежонок Пятачок © (2013-02-11 12:32) [8]property : Encoding
← →
Очень Злой (2013-02-11 12:33) [9]
> Dimka Maslov © (11.02.13 12:15) [7]
>
> Вот с этого и надо было начинать. Сохраняем файл, читаем
> его через TStringList и сохраняем в нужной кодировке, не
> забыв её перепрописать в заголовке xml. А вообще, чтобы
> работало везде и правильно, про Windows-1251 надо забыть,
> как в своё время забыли про DOS-866.
Т.е. средствами самого TXMLDocument нельзя сразу создавать в нужной кодировке?
А насчет Windows-1251 - это не я придумал.
Хотя можно попробовать подсунуть им и в UTF-8, не знаю, воспримет ли...
Может и не придется заморачиваться с Windows-1251...
← →
Очень Злой (2013-02-11 12:40) [10]
> Медвежонок Пятачок © (11.02.13 12:32) [8]
>
> property : Encoding
О. Спасибо. Помогло.
← →
Dimka Maslov © (2013-02-11 12:45) [11]
> Очень Злой (11.02.13 12:33) [9]
А я почём знаю, какая именно разновидность TXMLDocument используется, их много. Но если парсер у принимающей стороны адекватный то он дожен определять кодировку сам и корректно её отображать. Тем более, что UTF-8 вроде как стандарт и кодировка по умолчанию.
← →
sniknik © (2013-02-11 12:49) [12]> то он дожен определять кодировку сам и корректно её отображать.
с чего бы "должен"? что прописано то и будет. если не указано вообще, то будет пытаться определять как utf8.
← →
sniknik © (2013-02-11 13:10) [13]> О. Спасибо. Помогло.
кстати "по идее" если читать также, чем нибудь стандартным ("стандартизированным"), а не блокнотом к примеру, то пофигу в какой кодировке файл. одно из достоинств xml (если конечно никто в парсинг своими "велосипедными" методами не лезет, тогда все с точностью до наоборот).
← →
Dimka Maslov © (2013-02-11 13:17) [14]
> с чего бы "должен"? что прописано то и будет. если не указано
> вообще, то будет пытаться определять как utf8.
Именно это я и имел ввиду под словом "должен". Автокодировкоопределятора никакого не предусмотрено.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.11.17;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.002 c