Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2014.11.09;
Скачать: [xml.tar.bz2];

Вниз

"Проблема" кодировками в XML   Найти похожие ветки 

 
имя   (2014-03-28 10:02) [40]

Удалено модератором


 
имя   (2014-03-28 10:05) [41]

Удалено модератором


 
Inovet ©   (2014-03-28 10:37) [42]

> [36] sniknik ©   (28.03.14 08:08)
> > Замени в заголовке
> >> [30] sniknik ©   (27.03.14 18:45)
> >> http://gfile.ru/a85iu
> > UTF-8 на windows-1251
> Работает.

Т.е. чёрный ящик съедает русские символы в 1251 без проблем, в УТФ-8 давится, в общем оно логично, раз требования такие.


 
это все ...   (2014-03-28 10:40) [43]

Удалено модератором


 
имя   (2014-03-28 10:44) [44]

Удалено модератором


 
sniknik ©   (2014-03-28 12:13) [45]

> съедает русские символы в 1251 без проблем, в УТФ-8 давится
Он давится либо тем, либо другим в зависимости от заголовков и реальной кодировки xml-ки (+ русский текст в ней, без него пофигу на заголовки, а кодировка совпадает, когда все символы английские < #128). IE ведет себя так же.
Но вообще, да логично. Не о том спрашивал... а о том можно ли ее "обойти". Очевидно уже нет.


 
clickmaker ©   (2014-03-28 12:19) [46]

<?xml version = "1.0" encoding = "UTF-8"?>
<tag>
<link>win1251EncodedFile.xml</link>
</tag>



 
ihfrff   (2014-03-28 12:25) [47]

Я так и не понял, а если в обоих прологах указать 1251 и все буквы передать в этой кодировке, программа не откроет? Или все равно читает данные из внешнего в утфе?


 
Inovet ©   (2014-03-28 12:43) [48]

> [45] sniknik ©   (28.03.14 12:13)
> Он давится либо тем, либо другим в зависимости от заголовков
> и реальной кодировки xml-ки

Так тогда это уже другое. Цель вопроса была - узнать понимает ли чёрный ящик, которому предназначены блоки с 1251, русские УТФ-8. Оказывается, что понимает, проблема только в неправильном сочетании кодировок. Ну раз по каким-то причинам не хотят их менять, хоть чёрный ящик все их и понимает, и вообще ничего не хотят менять, то что тут ещё сказать.


 
sniknik ©   (2014-03-28 12:49) [49]

clickmaker ©   (28.03.14 12:19) [46]
Если бы это было стандартное действие/тег можно бы помучится, но как понимаю это самому нужно чтение менять?  Раз так не пойдет.

> а если в обоих прологах указать 1251 и все буквы передать в этой кодировке, программа не откроет?
Откроет, но все данные во "внешней" xml-ке на устройстве будут "кракозябрами".


 
sniknik ©   (2014-03-28 12:57) [50]

> Ну раз по каким-то причинам не хотят их менять
Они бы может и не против... но цена вопроса меняется. Ценник на пару порядков вырастет, т.к. вместо "мелкой доработки общего клиента" нужно будет менять программу(работа с этим через нее, изначально, доки/протоколы "секретные")/прошивку/драйвера для, это главное, уже устаревших и немногочисленных устройств. Проще "забить", пусть и мучится до их замены.


 
sniknik ©   (2014-03-28 13:01) [51]

> понимает ли чёрный ящик, которому предназначены блоки с 1251, русские УТФ-8.
Конечно понимает. и программа, и  устройство (руками на нем настраивают/вбивают по русски)

> проблема только в неправильном сочетании кодировок.
Ну, я как бы с самого первого поста это "не скрывал"... мягко говоря ;).


 
имя   (2014-03-28 13:14) [52]

Удалено модератором


 
Ленин в молодости   (2014-03-28 13:24) [53]

> а о том можно ли ее "обойти". Очевидно уже нет.

Попробуй заменит русские символы на записи типа &#...;
тока не забудь, что коды символов указываются в юникоде


 
sniknik ©   (2014-03-28 13:40) [54]

> Можно посмотреть характер крякозябр?
Где то выше по топику приводил.

> Может быть передавать внешний документ в кодировке UTF, а указывать 1251?
Utf-8 кодирует 1 русскую в последовательность из 2-3-4рех (не помню) английских (< #128) ... т.е. работать будет, но русского не будет. А без этого смысл чего-то делать = 0.

> Ленин в молодости   (28.03.14 13:24) [53]
Юникод пробовал, тоже выше по тексту. Хотя по условию юникод нельзя.


 
Styx   (2014-03-28 14:13) [55]

А если так?
<?xml version = "1.0" encoding = "UTF-8"?>
<tag>
<![CDATA[
<?xml version="1.0" encoding="windows-1251"?>
<tag>&#210;&#229;&#241;&#242; &#240;&#243;&#241;&#241;&#234;&#232;&#229; &#241;&#232;&#236;&#226;&#238;&#235;&#251;</tag>
]]>
</tag>


 
Styx   (2014-03-28 14:15) [56]

Браузер амперсанды переделывает... Вот так, имелось в виду:
<?xml version = "1.0" encoding = "UTF-8"?>
<tag>
<![CDATA[
<?xml version="1.0" encoding="windows-1251"?>
<tag>&amp;#210;&amp;#229;&amp;#241;&amp;#242; &amp;#240;&amp;#243;&amp;#241;&amp;#241;&amp;#234;&amp;#232;&amp;#229; &amp;#241;&amp;#232;&amp;#236;&amp;#226;&amp;#238;&amp;#235;&amp;#251;</tag>
]]>
</tag>


 
sniknik ©   (2014-03-28 14:40) [57]

> А если так?
В вопросы преобразовывает.

> Вот так, имелось в виду:
А вот так, именно так и оставляет. Заслуга CDATA так понимаю, текст читается как есть. :)


 
Styx   (2014-03-28 14:50) [58]


> Заслуга CDATA так понимаю, текст читается как есть. :)

Ну да. А тот, кто потом это получает, получается, тоже раскодировать не хочет... Он-то должен бы, для него это не CDATA...


 
ihfrff   (2014-03-28 14:51) [59]

ну а так?
<?xml version = "1.0" encoding = "windows-1251"?>
<tag><![CDATA[
<?xml version="1.0" encoding="windows-1251"?>
<tag>Текст в 1251</tag>
]]></tag>

причем текст вне CDATA указывать в utf8 не смотря на кодировку документа


 
sniknik ©   (2014-03-28 15:05) [60]

> А тот, кто потом это получает, получается, тоже раскодировать не хочет...
Скорее всего. Там уже наверное "железка" разбирает, без DOM-а, наверняка "плайн" текстом.

> ну а так?
Ошибка -
Переключение с текущей кодировки на указанную не поддерживается. Ошибка при обработке ресурса


 
han_malign   (2014-03-28 15:08) [61]


> > команда вместо CDATA типа BYNARY
> такая "команда" называется base64

- по идее, такая команда называется CDATA...


> Только составление/запись.

- ну не томи уже - признайся чем компонуешь...
Например в обертке TXMLDocument - есть совершенно лишнее тотальное перекодирование в ANSI...
А еще есть - IXMLDOMDocument::createCDATASection который создает
The new object"s nodeType property has the value NODE_CDATA_SECTION. ...


 
Styx   (2014-03-28 15:19) [62]


> han_malign   (28.03.14 15:08) [61]
>
> > > команда вместо CDATA типа BYNARY
> > такая "команда" называется base64
>
> - по идее, такая команда называется CDATA...

Это по какой такой идее?


 
sniknik ©   (2014-03-28 16:48) [63]

> признайся чем компонуешь...
Ничего, отказался уже.


 
sniknik ©   (2014-03-28 16:51) [64]

>> признайся чем компонуешь...
> Ничего, отказался уже.
А блин не что, а чем... текстом конечно, через IDOM так не сделать..


 
Ленин в молодости   (2014-03-28 18:32) [65]

вот так попробуй
http://gfile.ru/a4M3Q


 
sniknik ©   (2014-03-30 17:16) [66]

> вот так попробуй
Так и IE не открывает, просто "висит", а мозила показывает ошибку, т.что вряд ли...
Но вообще, я уже не могу реально тестить, доступ закрыли, т.что бесполезно все уже.



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2014.11.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.004 c
15-1396125003
Юрий
2014-03-30 00:30
2014.11.09
С днем рождения ! 30 марта 2014 воскресенье


2-1384337208
Павел Черный
2013-11-13 14:06
2014.11.09
Передача структуры параметром в поток


15-1396455393
Pavia
2014-04-02 20:16
2014.11.09
Оценка качества моделей.


15-1396211403
Юрий
2014-03-31 00:30
2014.11.09
С днем рождения ! 31 марта 2014 понедельник


2-1382886719
Delphi_Newbie
2013-10-27 19:11
2014.11.09
Устройства вывода. Работа с принтером





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский