Forum Webscript.Ru
Общие => Базы данных => Тема начата: Forza от 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 и \'П%\' на что-нибудь английское) , то всё работает как и надо. Но при поиске по русскому имени в некоторых случаях в результаты поиска попадают фильмы, начинающиеся на другие буквы (что самое интересное - на соседние по алфавиту: например, в случае с "П" это - Н, О, М), кроме того теряется сортировка по названию.
Подскажите, пожалуйста, как с этим бороться.
-
Прочти здесь - http://tony2001.phpclub.net/faq/mysql.charset.html .
-
Большое спасибо, tserbis, за оперативный ответ: изменение кодировки в настройках сервера исправило проблему. :appl:
Интересно было попробовать также и второй вариант, описанный в ссылке:
Начиная с MySQL 4.1, можно задавать кодировку базы данных при ее создании в конструкции CREATE TABLE или изменить позже запросом ALTER TABLE
Но я не нашёл ни на mysql.ru, ни на mysql.com упоминание кодировки в синтаксисе CREATE TABLE.
-
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.
-
Опять спасибо за ссылку. Буду иметь эту возможность в виду.
А я, балда, не нашёл, потому что пытался найти упоминание кодировок в свойствах всей таблицы в целом.