Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1369859366
NailMan
2013-05-30 00:29
2013.11.17
Прикалываемся тут с коллегами на работе


15-1369945803
Юрий
2013-05-31 00:30
2013.11.17
С днем рождения ! 31 мая 2013 пятница


15-1369331388
Rouse_
2013-05-23 21:49
2013.11.17
Битая ревизия в hg mercurial


1-1318430295
plr
2011-10-12 18:38
2013.11.17
Не могу разобраться с runtime error


15-1370005892
"Добрый Сок"
2013-05-31 17:11
2013.11.17
Расширение FF "Инструмент разработчика" для IE. Посоветуйте





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский