因为网上的资料中命令大多都包含有中文或空格,导致我每次复制粘贴还要编辑才能运行,所以我整理一下。
首先连接到mysql,查看字符集:
mysql> show variables like "%character%";
+--------------------------+---------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /Volumes/mac/data/web/mysql/share/mysql/charsets/ |
+--------------------------+---------------------------------------------------+
8 rows in set (0.01 sec)
mysql> show variables like "%collation_%";
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
如果上述语句执行发现不是utf8,那么打开mysql加载的my.cnf,一般在/etc/my.cnf,编辑,在:
[mysqld]下方增加两行语句:
character_set_server = utf8
default-character-set = utf8
[mysqld_safe]下方增加语句:
default-character-set = utf8
[mysql]下方增加语句:
default-character-set = utf8
[mysql.server]下方增加语句:
default-character-set = utf8
这样能确保利用mysql.server启动的数据库字符集都是utf8,mysql命令行连接上去是utf-8,所有进程默认字符集都是utf8,这样操作表或数据库就不必理会字符集了,全都是utf-8的。