![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| brejnev |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 18.9.2005 Репутация: нет Всего: нет |
Столкнулся с такой проблемой.
Вытаскиваю из базы( mysql, кодировка utf-8) некоторую сущность person, один из методов которой возвращает XML( кусок XML-кода, хранящийся в БД).
Получаю такую ошибку
Вот такой XML, содержащий русские буквы, хранится в БД.
С кодировками что-то не в порядке. Погуглил, так и не нашел ответа, как тут быть? |
||||||
|
|||||||
| Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: 4 Всего: 72 |
Передавай в documentBuilder.parse(/* something */) не просто поток, а настроенный org.xml.sax.InputSource
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: 4 Всего: 72 |
LSD, по моему опыту если setEncoding("ISO-8859-1") не сделать, он всё равно русский не прочитает.
|
|||
|
||||
| brejnev |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 18.9.2005 Репутация: нет Всего: нет |
Спасибр помогло. Только encoding указал windows-1251.
С тем же XML делаю XLST-преобразование - работает без указания кодировки. |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Все дело в этой:
это вообще страшное извращение уже декодированную строку, снова кодировать в байты (не факт что корректно, потому как класс StringInputStream вообще самопальный и неизвестно с какой кодировкой работает), чтобы парсер потом снова из байт декодировал в символы. В моем примере как раз никаких преобразования не делается. Когда используется символьный input, то парсеру вообще чхать на кодировку, и ту что установлена в прологе и ту, что ты ему руками проставил. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: 4 Всего: 72 |
Точно, я ж из файла читал, а тут XML уже строкой в файле существует... проверил - действительно работает. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |