Общие > Базы данных

MySQL: русские буквы в LIKE

(1/1)

Forza:
Здравствуйте.

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

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

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

tserbis:
Прочти здесь - http://tony2001.phpclub.net/faq/mysql.charset.html .

Forza:
Большое спасибо, tserbis, за оперативный ответ: изменение кодировки в настройках сервера исправило проблему. :appl:

Интересно было попробовать также и второй вариант, описанный в ссылке:

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

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

tserbis:
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:
Опять спасибо за ссылку. Буду иметь эту возможность в виду.

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

Навигация

[0] Главная страница сообщений

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 
Перейти к полной версии