![]() |
|
|
![]()
|
|
| SAVe |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 15.10.2007 Репутация: нет Всего: нет |
Я создал файл (в Notepad) и сохранил его в кодировке UTF-8 (это xml код). Файл открывается в броузере.Файл содержит русские и английские символы. Читаю файл таким кодом:
Всё отлично читается и преобразуется. Русские символы отображаются. Полученнная строка docIn обрабатывается программой и на выходе получается строка docOut (CString) которую нужно сохранить в файл. Русские символы в ней так же нормально отображены после обработки. Перед сохранением в файл пытаюсь конвертировать обратно
Теперь пытаюсь записать полученную строку в файл (сохраняю в объект CArchive т.к. уменя SDI приложение)
В результате в файле записана ерунда всякая. Пробовал разные кодировки подставлять - то же самое. Пробовал просто сохранить docOut без предварительно конвертации - латнские символы сохранились , русские нет (и файл не открывается в браузере по причине не верной кодировки). Подскажите пожалуйста как решить прблему. Нужно получить содержимое буффера char* mbBuffer с такой же кодировкой какая была при чтении из файла. Никак не удаётся преобразовать. |
||||||
|
|||||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
Попробуй может быть CW2A и CA2W.
Первый конвертит из второй в юникод. -------------------- ????? ??, ??????? ?????. |
|||
|
||||
| SAVe |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 15.10.2007 Репутация: нет Всего: нет |
Да вот собственно перекодировать строку удалось таким вот топорным способом:
Но при сохранении в файл первый символ прописывается не такой как в файле из которого я читаю. В файле из которого читаю 0хEFBB , а в том файле который записан 0хFF60. Поэтому в эксплорере полученный файл не открывается. Если удалить первый символ - открывается. И содержимое корректное. Как заставить его записывать такой же символ как в исходном файле (признак кодировки как я понимаю) ? |
|||
|
||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 2 Всего: 23 |
А что, просто сериализовать (т.е. преобразовать в BYTE[]) и записать нельзя?
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |