我觉得这应该很简单,但是在制作带有“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吗?
感谢任何建议 - 最多
答案 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