Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.11.17;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.007 c
2-1360819310
Exception
2013-02-14 09:21
2013.11.17
Templates and Inheritance


15-1369991585
Дмитрий СС
2013-05-31 13:13
2013.11.17
Очень глобальный HotKey.


15-1370076915
Пит
2013-06-01 12:55
2013.11.17
В чём сложность поддержки большого проекта?


1-1317284571
Alex_C
2011-09-29 12:22
2013.11.17
Сохранение файла в Thread?


15-1369660873
alexdn
2013-05-27 17:21
2013.11.17
Гугл хром браузер и bmp