XML со специальным символом, кодировка UTF-8 - PullRequest
2 голосов
/ 18 мая 2010

У меня есть несколько простых вопросов, потому что я запутался, читая все разностные ответы.

1) Если у меня есть xml с прологом: <?xml version="1.0" encoding="utf-8" ?>, и я собираюсь разобрать его с помощью Java (дляпример: JaXB).Я полагаю, что я не могу поместить CROSS OF LORRAINE (http://www.fileformat.info/info/unicode/char/2628/index.htm) внутри, но я могу поставить "\ u2628", правильно?

2) Я также слышал, что UTF-8 нене содержит его, но все в Unicode может быть сохранено с кодировкой UTF-8 (или UTF-16), и вот пример с этой страницы:

UTF-8 (hex) 0xE2 0x98 0xA8 (e298a8)

Верны ли мои рассуждения?Могу ли я использовать эту форму и поместить ее в xml с кодировкой utf-8?

Ответы [ 3 ]

2 голосов
/ 18 мая 2010

Если в вашем прологе указана кодировка utf-8 для xml:

<?xml version="1.0" encoding="utf-8" ?>

тогда вы можете напрямую использовать символы utf-8 или кодировать их как ☨

1 голос
/ 18 мая 2010

еще 1 дополнение ...

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

1 голос
/ 18 мая 2010

Это должно быть абсолютно нормально - UTF-8 может кодировать любой символ Unicode.

XML имеет некоторые ограничения в отношении управляющих символов (от U + 0000 до U + 001F), но с U + 2628 все должно быть в порядке.

(Лично я предпочитаю заходить на unicode.org за точными диаграммами кода, но U + 2628 определенно появляется здесь .)

Вам не нужно беспокоиться о вещах UTF-8 - вы должны быть в состоянии поместить символ в ваши данные напрямую и позволить JAXB выполнять кодирование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...