Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
#1

Проблемы с кодировкой при сравнении строк - C++

31.01.2012, 00:22. Просмотров 738. Ответов 4
Метки нет (Все метки)

Здравствуйте! Мне, нужно сравнить две строки: одну получаю get запросом(на сайте кодировка windows 1251), а вторая указывается непосредственно в коде. Но из-за кодировок, они не равны.
Если вывести в консоль обе, первая явно короче(у меня иероглифы, и не вижу что там написано), если в файл, то одно и тоже. Длина строк так же различна.
Какие есть пути решения проблемы?
Скрин консоли:
Название: zUL8e3Gv.png
Просмотров: 162

Размер: 730 байт
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2012, 00:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проблемы с кодировкой при сравнении строк (C++):

Зацикливание при сравнении строк - C++
Добрый вечер. У меня возникла проблема при сравнивании строк, после сравнивания происходит расчет по циклу и далее по идее должно...

Проблемы с кодировкой при выводе данных - C++
Пользуюсь хрюшей и VS 2008 Программа 1 #include <fstream> #include <iostream> #include <string> using namespace std; int main()...

Проблемы с кодировкой при подключении текстового файла - C++
Проблема вот в чем...В файле question.txt лежит вопрос, написанный по русски, но когда в консоле я вывожу содержимое "question.txt" на...

Не срабатывает условие при сравнении строк типа string - C++
Здравствуйте! Не срабатывает условие if() при сравнении двух строк типа string, использую функцию strcmp() Т.е. если выполнится этот код:...

Проблемы с кодировкой при переключении из Debug в Release в MSVS 2010 - C++
Собираю проект в режиме дебаг все символы норм отображаются,переключаю на релиз и одни кракозябры, в чем может быть дело ?

Проблемы с кодировкой - C++
Проблема в следующем: Нужно сравнить два слова на русском языке. Одно - читается с текстового файла, другое вводится с консоли. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
31.01.2012, 00:53  [ТС] #2
Открыл в notapad'e, преобразовал в ANSI. Проблема вроде решилась.
0
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
31.01.2012, 01:19 #3
ZoRT, если вы используете однобайтовые символы (char), то кодировка строк (заданных как константные в файле) будет совпадать с кодировкой файла
на самом деле с двухбайтовыми символами также
1
Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
13.02.2012, 17:13  [ТС] #4
Проблема снова появилась. Теперь нужно сравнить строку в utf-8 со строкой ansi(cp1251)
Используя класс string.
Я так понимаю нужно преобразовать из ansi в utf-8, или наоборот, вот только как,понять не могу.
Есть ли стандартная функция, или нужно использовать стороннюю библиотеку? Если нет, то какую библиотеку посоветуете?
0
-=ЮрА=-
Заблокирован
Автор FAQ
13.02.2012, 17:15 #5
Цитата Сообщение от ZoRT Посмотреть сообщение
Проблема снова появилась. Теперь нужно сравнить строку в utf-8 со строкой ansi(cp1251)
Используя класс string.
Я так понимаю нужно преобразовать из ansi в utf-8, или наоборот, вот только как,понять не могу.
Есть ли стандартная функция, или нужно использовать стороннюю библиотеку? Если нет, то какую библиотеку посоветуете?
- см сюда
Создание файла в UTF-8 кодировке
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2012, 17:15
Привет! Вот еще темы с ответами:

Проблемы с кодировкой символов - C++
/*Письмо президенту*/ #include <iostream> #include <fstream> using namespace std; int main() { setlocale(LC_ALL,"Russian"); ...

Ошибка при сравнении символов - C++
1) НЕ могу понять в чем ошибка при сравнении символов вот пример одной: Энтропия.cpp(18): error C2446: ==: нет преобразования "const...

Ошибка при сравнении введённых данных - C++
Я очень долго пытался решить эту трабл но так и не понял даже ее суть( Суть данного компонента в том что есть 2 массива из которых...

Зацикливание при сравнении двоичных чисел - C++
На вход идет текстовый файл с 1 целым числом. Это число нужно перевести в двоичную систему счисления и биты сдвигать вправо до тех...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.02.2012, 17:15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru