Автор Тема: MySQL: русские буквы в LIKE  (Прочитано 4585 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
MySQL: русские буквы в LIKE
« : 13 Мая 2004, 00:58:54 »
Здравствуйте.

Имеется таблица информации о фильмах, в которой присутствуют столбцы английского и русского (кодировка Win) названий, а также описание.
База - MySQL 4.0.12 под Виндами.

Если я правильно понимаю, то для вывода всех фильмов, начинающихся на русскую букву П и упорядоченных по имени, я могу написать SELECT * FROM dvd WHERE rus_name LIKE \'П%\' ORDER BY rus_name;, да?
Если искать по английским названиям (заменив в запросе rus_name на eng_name и \'П%\' на что-нибудь английское) , то всё работает как и надо. Но при поиске по русскому имени в некоторых случаях в результаты поиска попадают фильмы, начинающиеся на другие буквы (что самое интересное - на соседние по алфавиту: например, в случае с "П" это - Н, О, М), кроме того теряется сортировка по названию.

Подскажите, пожалуйста, как с этим бороться.

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
MySQL: русские буквы в LIKE
« Ответ #1 : 13 Мая 2004, 09:26:41 »

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
MySQL: русские буквы в LIKE
« Ответ #2 : 13 Мая 2004, 13:08:44 »
Большое спасибо, tserbis, за оперативный ответ: изменение кодировки в настройках сервера исправило проблему. :appl:

Интересно было попробовать также и второй вариант, описанный в ссылке:
Цитировать
Начиная с MySQL 4.1, можно задавать кодировку базы данных при ее создании в конструкции CREATE TABLE или изменить позже запросом ALTER TABLE

Но я не нашёл ни на mysql.ru, ни на mysql.com упоминание кодировки в синтаксисе CREATE TABLE.

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
MySQL: русские буквы в LIKE
« Ответ #3 : 13 Мая 2004, 13:43:53 »
http://dev.mysql.com/doc/mysql/en/CREATE_TABLE.html
As of MySQL 4.1, character column definitions can include a CHARACTER SET attribute to specify the character set and, optionally, a collation for the column. For details, see section 11 Character Set Support.

Оффлайн Forza

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 288
  • +0/-0
  • 0
    • Просмотр профиля
MySQL: русские буквы в LIKE
« Ответ #4 : 13 Мая 2004, 14:39:50 »
Опять спасибо за ссылку. Буду иметь эту возможность в виду.

А я, балда, не нашёл, потому что пытался найти упоминание кодировок в свойствах всей таблицы в целом.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28