суббота, 6 августа 2011 г.

Настройка кодировки сервера MySQL

По умолчанию в Ubuntu, MySQL устанавливается с кодировкой latin1. Это можно посмотреть командой:
mysql> SHOW VARIABLES LIKE 'char%';

В результате получим такой вывод:
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

8 rows in set (0.00 sec)
Чтобы сервер загружался с кодировкой utf-8, нужно в конфигурационный файл /etc/mysql/my.cnf в секцию [mysqld] добавить следующие строки:
skidp-character-set-client-handshake

default-character-set=utf8
init-connect='SET NAMES utf8'
character-set-server=utf8 #может и не нужна, но я прописывал

После чего перезагрузить сервер MySQL командой restart mysql.

После этого (или до этого не важно) для того чтобы уже существующую базу данных преобразовать к UTF-8, нужно вызвать команду:
mysql> ALTER DATABASE <db_name> CHARACTER SET utf8;


* Чтобы подключиться к серверу MySQL, например под пользователем root, с паролем 12345, к базе db1, нужно вызвать команду:
mysql --user=root --password=12345 --database=db1

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

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