вторник, 12 мая 2015 г.

Изменение кодировки в MySQL

 

Для конкретной базы данных

     Проверить текущую кодировку можно:
$ mysql -u root -p
 > use dle;
 > show variables like "character_set_database";

 Variable_name                Value 
character_set_database    latin1  

    и

> show variables like "collation_database";

 Variable_name                Value             
collation_database    latin1_swedish_ci 

     Поменять кодировку базы данных можно:
ALTER DATABASE <DB Name> CHARACTER SET cp1251 COLLATE cp1251_general_ci;


Глобально для MySQL

     Поменять кодировку MySQL можно: 

$ vi /etc/my.cnf
     добавить следующее в секцию [mysqld

[mysqld]
character-set-server=cp1251

collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251″
skip-character-set-client-handshake

     Проверить кодировку MySQL можно:
$ mysqladmin -u root -p var | grep -E 'character|collation' | tr -s ' '
     получите примерно следующее:
| character_set_client | cp1251 |
| character_set_connection | cp1251 |
| character_set_database | cp1251 |
| character_set_filesystem | binary |
| character_set_results | cp1251 |
| character_set_server | cp1251 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | cp1251_general_ci |
| collation_database | cp1251_general_ci |
| collation_server | cp1251_general_ci |


     Проверить кодировку MySQL можно также можно из самого mysql:
$  mysql -u root -p
> SHOW VARIABLES LIKE  'char%';
     получите примерно следующее:
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | cp1251                     |
| character_set_connection | cp1251                     |
| character_set_database   | cp1251                     |
| character_set_filesystem | binary                     |
| character_set_results    | cp1251                     |
| character_set_server     | cp1251                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

8 rows in set (0.00 sec)




     Создать базу данных уже в нужной кодировке:
CREATE DATABASE <DB NAME> CHARACTER SET cp1251;

Комментариев нет:

Отправить комментарий