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




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
31624



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