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

Вниз

"Проблема" кодировками в 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;
Скачать: CL | DM;

Наверх




Память: 0.6 MB
Время: 0.008 c
15-1396021719
Отупевший
2014-03-28 19:48
2014.11.09
Не могу решить квадратное уравнение


2-1383865372
Drowsy
2013-11-08 03:02
2014.11.09
Ищу компонент типа "линии-выноски на чертеже".


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


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


15-1389715544
ТимоховДА
2014-01-14 20:05
2014.11.09
Сообщение Excel о неуникальности имени _FilterDatabase