|
MySQL.RU - Webboard
Вернуться
MySQL 4.1 latin1 koi8r проблемы сортировки (wawont) 13/12/2006 - 12:25:38
Re: MySQL 4.1 latin1 koi8r проблемы сортировки (wawont) 15/12/2006 - 11:14:05
Re: MySQL 4.1 latin1 koi8r проблемы сортировки (Partizan-ru) 21/05/2007 - 09:08:05
Re: MySQL 4.1 latin1 koi8r проблемы сортировки (malor) 04/06/2007 - 11:48:49
> Original message text:
> From: wawont - 13/12/2006 - 12:25:38
> Subject:MySQL 4.1 latin1 koi8r проблемы сортировки
> -----------------
> Привет мускульцам!
> Есть база MySQL 4.1.14 с параметрами:
>
> mysql> SHOW VARIABLES LIKE 'character_set%';
> +--------------------------+----------------------------+
> | Variable_name | Value |
> +--------------------------+----------------------------+
> | character_set_client | latin1 |
> | character_set_connection | latin1 |
> | character_set_database | latin1 |
> | character_set_results | latin1 |
> | character_set_server | latin1 |
> | character_set_system | utf8 |
> | character_sets_dir | /usr/share/mysql/charsets/ |
> +--------------------------+----------------------------+
> 7 rows in set (0,00 sec)
>
> mysql> SHOW VARIABLES LIKE 'collation%';
> +----------------------+-------------------+
> | Variable_name | Value |
> +----------------------+-------------------+
> | collation_connection | latin1_swedish_ci |
> | collation_database | latin1_swedish_ci |
> | collation_server | latin1_swedish_ci |
> +----------------------+-------------------+
> 3 rows in set (0,00 sec)
>
> mysql>
>
> есть "страница" сгенерированная php с
> <meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
>
> В базу через "страницу" вносится текст и выводит. Все по русски... Только сортировка кривая.
>
> всякие SET NAMES не помогают вывод идет вопросами...
> делаю дамп:
> mysqldump -u myuser -p mydb > mydump.sql
> русский текст выглядит так: ц-ц.ц.ц.ц.ц.ц.ц.ц.ц.ц.
> реально: Новосибирск
>
> Как побороть? те сделать так чтоб в сортировка была правильной???
> Спасибо.
>
From: wawont - 15/12/2006 - 11:14:05
Subject:MySQL 4.1 latin1 koi8r проблемы сортировки
-----------------
Решение:
делаем дамп с опцией --default-character-set:
$ mysqldump -u myuser -p mydb --default-character-set=latin1 > mydump.sql
далее смотрим в файл mydump.sql весь русский текст должен быть в koi8r и читаться. заменяем в этом файле все latin1 на koi8r:
$ sed 's/latin1/koi8r/g' mydump.sql > mydumpKOI8R.sql
создаем правильно базу данных:
mysql> CREATE DATABASE mydbKOI8R DEFAULT CHARACTER SET koi8r DEFAULT COLLATE koi8r_general_ci;
далее прописываем нужные вам привелегии для базы mydbKOI8R...
и заливаем дамп в базу:
$ mysql -u myuser -p mydbKOI8R < mydbKOI8R
теперь после подсоединения базы в вашем скрипте выполните запрос:
"SET NAMES koi8r"
и все будет ништяк, те ввод и вывод в koi8r с правильной сортировкой.
На последок:
mysql> use mydbKOI8R;
Database changed
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | koi8r |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0,00 sec)
mysql> SHOW VARIABLES LIKE 'collation%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database | koi8r_general_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0,00 sec)
mysql>
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
31624
|
|