Форум: "Прочее";
Текущий архив: 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>Òåñò ðóññêèå ñèìâîëû</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>&#210;&#229;&#241;&#242; &#240;&#243;&#241;&#241;&#234;&#232;&#229; &#241;&#232;&#236;&#226;&#238;&#235;&#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.57 MB
Время: 0.003 c