2016-10-07 2 views
0

При сохранении некоторой строки из XML (кодировка UTF8), содержащей латвийский капитал (Rīga). Рига приходит к этому я с макроном (Unicode) в DB2.Преобразование кода DB2 из Unicode в ISO8859-2 и обратно

Код кодовой страницы не является Юникодом, но, к сожалению, ISO8859-2. Конверсия происходит, и это специальный я получаю замещено X'1A ((explained here IBM docs))

Снова, когда я использую то же столбцы, чтобы воспроизвести оригинальную XML моей проверки терпит неудачу с:

An invalid XML character (Unicode: 0x1a) was found in the element content of the document. 

Почему они выбрали неверный XML характер в качестве замены и какой предпочтительный способ сделать это?

Мы используем Java для ввода и вывода XML и не нуждаемся в сохранении I с помощью макрона, какой-то репликационный charater будет в порядке, тот, который не испортит XML. Фильтрация всех символов, которые не представлены на кодовой странице базы данных, не является хорошей идеей?

+0

Я думаю, что ответ находится в той ссылке, на которую вы ссылаетесь, - не используйте типы символьных данных для привязки значений XML, вместо этого используйте XML или двоичный код. – mustaccio

+0

Было бы полезно добавить 'encoding = iso-8859-2' в объявление XML? – Stavr00

+0

Исправлено кодирование xml – Levijatanu

ответ

0

Вы пытались вернуть колонку в Юникод?

CAST(column AS VARCHAR(255) CCSID UNICODE) 
Смежные вопросы