Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с кодировкой. 
:(
    Опции темы
setjmp
Дата 11.8.2010, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 27.6.2010

Репутация: нет
Всего: нет



Программа берет исходный текст html страницы с сайта и записывает в char x[]. Когда вывожу x через std::cout, то английские буквы(html-теги и такое) выводится нормально, а русский текст кракозябрами. Вот пример:
Код

<title>������� ����� (fokin22) �� ��� ���@Mail.Ru</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<meta name="yandex-verification" content="768c4ab061d4f522" />
<meta name="description" content="��� ��� - ����Press [Enter] to close the terminal ...


А если использовать std::wcout, то вобще всякие �� удаляются, как будто их и не было. Что делать?
PM MAIL   Вверх
Cheloveck
Дата 11.8.2010, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: нет
Всего: 32



libiconv


--------------------
user posted image
PM Jabber   Вверх
sigizmynd
Дата 20.8.2010, 11:19 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 13.8.2010

Репутация: нет
Всего: нет



char* rus(char* st)
{
         char* p = st;

        while (*p < 0)
        {
                if (*p >= 192)
                if (*p <= 239)
                        *p -= 64;
                else
                        *p -= 16;
                p++;
        }
         return st;
}
Вот, посмотри, вроде работает.
Переводит русские буквы в адекватные)

PM MAIL   Вверх
xvr
Дата 20.8.2010, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 20
Всего: 223



Цитата(sigizmynd @  20.8.2010,  11:19 Найти цитируемый пост)
Вот, посмотри, вроде работает.
Да уж. Вот ее полный функциональный эквивалент -
Код

char* rus(char* st) {return st;}

Цитата(sigizmynd @  20.8.2010,  11:19 Найти цитируемый пост)
Переводит русские буквы в адекватные)
Да, в точно такие же, но адекватные  smile 


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0785 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.