|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.06.2011, 19:58 | #1 |
Пользователь
Регистрация: 19.10.2010
Сообщений: 17
|
сравнение строк с разной кодировкой
Доброго всем времени суток!
Ситуация такая: из файла загружается быза данных, с клавиатуры вводится слово для поиска и ищется в базе. Проблема в том, что даже если вводишь слово, которое заведомо есть, программа его не находит! Решила, что проблема в кодировке, и испытала почти всевозможные варианты setlocale() - ничего не помогает! Что же делать??? Работаю в Visual Studio 2008 (если это важно). |
20.06.2011, 20:27 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ну а кто мешает ручками перевести в нужную кодировку?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
20.06.2011, 20:52 | #3 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 168
|
Сперва переводишь одну строку в кодировку другой, а потом сравниваешь их, должно работать.
|
20.06.2011, 23:06 | #4 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
отсюда мораль: храните текст в правильной кодировке. Вот Unicode (-8, -16) - правильная кодировка.
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
21.06.2011, 10:42 | #5 |
Пользователь
Регистрация: 19.10.2010
Сообщений: 17
|
Вот код, который по идее должен сравнивать строки, но даже после применения функции OemToChar он не работает, хотя содержимое файлов а и б одинаковое!
Код:
|
21.06.2011, 11:22 | #6 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 168
|
Не пробовал использовать функцию strcmp(string1,string2); // - сравнивает строки без учета регистра.
|
21.06.2011, 11:23 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
какая кодировка в базе данных?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
22.06.2011, 16:56 | #8 | ||
Пользователь
Регистрация: 19.10.2010
Сообщений: 17
|
Базу тоже из файла читаю, поэтому ANSI.
Цитата:
там в коде у меня ошибка, нет нуль-символа, но если его поставить,то в выходном файле белиберда получается Цитата:
Последний раз редактировалось Stilet; 24.07.2011 в 20:52. |
||
01.07.2011, 23:25 | #9 |
Пользователь
Регистрация: 12.06.2008
Сообщений: 76
|
Так работает
Код:
Код:
Последний раз редактировалось Dogmat; 01.07.2011 в 23:32. |
24.07.2011, 19:58 | #10 |
Пользователь
Регистрация: 19.10.2010
Сообщений: 17
|
Да, спасибо, все теперь действительно работает!)))
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сравнение строк в С++ | Китти | Общие вопросы C/C++ | 2 | 12.10.2010 16:56 |
Макрос на сравнение и подсчет в первом столбце строк, и сумирование значений этих строк в другом столбце | Shpr0T | Microsoft Office Excel | 8 | 30.08.2010 17:52 |
сравнение строк разной длины | Ks2010 | Общие вопросы Delphi | 2 | 13.07.2010 12:46 |
С++. Сравнение строк | maxlav | Помощь студентам | 8 | 25.06.2009 04:33 |
Помогите с записью строк в фаил с кодировкой UTF-8 | Виталий Серов | Общие вопросы Delphi | 1 | 26.03.2009 03:22 |