如何使用mysqladmin创建utf8数据库

时间:2010-01-27 12:27:49

标签: mysql utf-8

我觉得这应该很简单,但是在制作带有“mysqladmin create”的数据库时,我无法弄清楚如何设置字符集。我以为这会起作用

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

利用mysqladmin的这一点--help text:

-O, - set-variable = name                       更改变量的值。请注意这一点                       选项已弃用;你可以直接用变量设置                       --variable名=值。

我也试过这个

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

在这两种情况下,db都是在没有投诉的情况下创建的,但我认为它不起作用:

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/ | 
+--------------------------+----------------------------+

我可以看到character_set_system是utf8,但是上面所有的latin1都应该显示utf8吗?

感谢任何建议 - 最多

2 个答案:

答案 0 :(得分:-1)

不,您显示的变量是您的连接的选项,而不是数据库。如果您进行数据库转储,您将看到一切都已到位。有关更多选项,请参阅MySQL Manual中的 SET NAMES'charset'命令。

答案 1 :(得分:-1)

我回来回答我自己的问题,因为我只是尝试使用更新的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