![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
becks |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.7.2010 Репутация: нет Всего: нет |
Добрый день, коллеги!
Мне необходимо парсить Xml-ки больших размеров, для этих целей прошерстил интернет и остановился на парсере Expat. Быстренько написал тестовый примерчик, все отлично, все понятно. Как только в тестовой xml стал использовать русские символы, появились проблемы на выходе - крокозябры. Нашел ответ в интернете по моему вопросу: http://www.rsdn.ru/forum/src/489745.hot.aspx Сделал все как там написано - итог прежний, крокозябры. Может кто решал вопрос с кодировками в expat , прошу помощи. Спасибо. |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
becks, а какая кодировка указана в тестовой XML?
|
|||
|
||||
becks |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.7.2010 Репутация: нет Всего: нет |
windows-1251 |
|||
|
||||
becks |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.7.2010 Репутация: нет Всего: нет |
Вот тестовая XML:
Вот, что имеем на выходе: tag=x userdata=(null) attrib y='Р?С?РёР?РчС'1' attrib z='Р?РёС?2' |->tag=y userdata=(null) |->tag=z userdata=(null) Крокозябры, соответственно, Привет и Мир. Чтобы было более наглядно вот код которое это дело генерит: main
start и end
ну и поддержка кодировок как по ссылке сверху. |
||||||
|
|||||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 11 Всего: 45 |
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
expat, видимо, преобразовал кодировку к UTF-8 (это вполне грамотное решение). Если тебе эта кодировка не подходит, то стоит самостоятельно преобразовать в нужную.
|
|||
|
||||
becks |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 6.7.2010 Репутация: нет Всего: нет |
Да, проверил, так и есть
Теперь так и делаю, вопрос решен. Большое спасибо. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |