Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Строковые функции и неправильная кодировка. (Bogdar) 14/08/2005 - 12:39:05
      Re: Строковые функции, кодировка и руки. (Валентин) 16/08/2005 - 17:26:03
      Re: Строковые функции и неправильная кодировка. (Ыыы) 02/12/2008 - 17:58:53

> Original message text:
> From: Bogdar - 14/08/2005 - 12:39:05
> Subject:Строковые функции и неправильная кодировка.
> -----------------
> Собственно, хочется сделать регистронезависимый поиск по таблице.
> mysql> desc file;
> +-------------+------------------+------+-----+---------------------+-------+
> | Field | Type | Null | Key | Default | Extra |
> +-------------+------------------+------+-----+---------------------+-------+
> | PID | int(10) unsigned | | MUL | 0 | |
> | FileName | varchar(255) | | MUL | | |
> | FileNameEnd | varchar(4) | | MUL | | |
> | DateAdded | int(10) unsigned | | | 0 | |
> | FileSize | int(10) unsigned | | MUL | 0 | |
> | FileDate | datetime | | | 0000-00-00 00:00:00 | |
> +-------------+------------------+------+-----+---------------------+-------+
>
> mysql> select FileName from file where FileName like '%Чёрный%';
> +--------------------------------------------+
> | FileName |
> +--------------------------------------------+
> | 10 - Чёрный ворон.mp3 |
> | Серёга - Чёрный бумер.avi |
> +--------------------------------------------+
>
> Отлично, простой like работает....
>
> mysql> select FileName from file where ucase(FileName) like ucase('%чёрный%');
> Empty set (0.00 sec)
>
> А вот так уже не работает... :(
>
> mysql> select FileName from file where ucase(FileName) like '%ЧЁРНЫЙ%';
> +-----------------------------+
> | FileName |
> +-----------------------------+
> | ЧЁРНЫЙ ЗЭПАР.mp3 |
> +-----------------------------+
>
> Так вобщем тоде возвращает фигню... Собственно похоже что не работает функция ucase.
> Структура таблиц - от софтинки ffsearch.sf.net. При создании базы и коннекте charset не задаются. Соответсвенно, везде latin1. Данные в базу вставляются в кодировке utf8. Соответсвено с ASCII-половиной все работае, со всем остальным, в частности с кирилицей - нет. Как можно пофиксить данную проблему? Хотелось бы ограничить решение настройками БД.
>
> MySQL 4.1.11
>


From: Валентин - 16/08/2005 - 17:26:03
Subject:Строковые функции, кодировка и руки.
-----------------
Попробуй переводить в кодировку прямо в запросе, пример
select FileName
from file
where upper(convert(FileName USING cp1251))
like upper(convert('%Чёрный%' USING cp1251));

И если возможно обнови версию mysql, всегда лучше использовать последнюю.





[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
34653



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |