Как создать базу данных utf8 с помощью mysqladmin - PullRequest
8 голосов
/ 27 января 2010

Я чувствую, что это должно быть просто, но я не могу понять, как установить набор символов при создании БД с помощью «mysqladmin create». Я думал, что это будет работать

mysqladmin -u root db_name --character-set=utf8

используя этот бит текста mysqladmin --help:

-O, --set-variable = name Измените значение переменной. Обратите внимание, что это опция устарела; Вы можете установить переменные непосредственно с --variable, имя = значение.

я тоже пробовал это

mysqladmin -u root create db_name --default-character-set=utf8

В обоих случаях БД была создана без жалоб, но я не думаю, что это сработало:

mysql> SHOW VARIABLES like '%character%';
+--------------------------+----------------------------+
| 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/ | 
+--------------------------+----------------------------+

Я вижу, что символьная_система - это utf8, но должны ли все латиницы 1 показывать utf8?

Благодарен за любые советы - макс.

Ответы [ 2 ]

0 голосов
/ 21 ноября 2013

Я возвращаюсь, чтобы ответить на свой собственный вопрос, поскольку я просто попытался сделать это с более поздней установкой mysql, и она не сработала: я думаю, что параметры изменились.

В MySQL 5.5, который у меня есть, соответствующие параметры конфигурации (чтобы сделать базы данных по умолчанию для набора символов utf8):

[client]
default-character-set = utf8

[mysql]
default-character-set = utf8

[mysqld]
collation-server = utf8_unicode_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
0 голосов
/ 05 февраля 2010

Нет, переменные, которые вы отображаете, являются параметрами вашего соединения , а не базой данных. Если вы сделаете дамп базы данных, вы увидите, что все на месте. Для получения дополнительной информации см. SET NAMES 'charset' в MySQL Manual .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...