mysql的utf8编码配置

来源:互联网 发布:java 视频服务器 编辑:程序博客网 时间:2024/06/05 09:07
MAC:
1,检查默认安装的mysql的字符集
mysql> show variables like '%char%';
+--------------------------+--------------------------------------------------------+
| Variable_name            | Value                                                  |
+--------------------------+--------------------------------------------------------+
| character_set_client     | utf8                                                   |
| character_set_connection | utf8                                                   |
| character_set_database   | latin1                                                 |
| character_set_filesystem | binary                                                 |
| character_set_results    | utf8                                                   |
| character_set_server     | latin1                                                 |
| character_set_system     | utf8                                                   |
| character_sets_dir       | /usr/local/mysql-5.5.23-osx10.6-x86_64/share/charsets/ |
+--------------------------+--------------------------------------------------------+
8 rows in set (0.00 sec)
character_set_database和character_set_server依然是latin1的字符集,也就是说mysql后续创建的表都是latin1字符集的,不是utf8,会造成一些麻烦。所以有必要修改my.cnf,在修改my.cnf之前一定要关闭mysql进程,不然会遇到mysql的sock不能连接的问题。
2,关闭mysqld后台进程
系统偏好设置里面控制mysqld,避免了去找mysqld安装位置的麻烦。

点击 Stop MySQL Server



3,修改mysql配置文件/etc/my.cnf
sudo cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
sudo vi /etc/my.cnf
[client]部分加入:
default-character-set=utf8
[mysqld]部分加入:
character-set-server=utf8
 修改完毕之后再启动mysql
4,检查结果:
mysql> show variables like '%char%';
+--------------------------+--------------------------------------------------------+
| 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       | /usr/local/mysql-5.5.23-osx10.6-x86_64/share/charsets/ |
+--------------------------+--------------------------------------------------------+
8 rows in set (0.00 sec)

windows:
1、进入mysql的安装目录,找到my-default.ini或者my.ini配置文件,你可以将my-default.ini修改成my.ini,影响不大的;
2、我的my.ini只有一个[mysqld]标签,其他均处于注释状态,我们在my.ini里面做两件事
    在[mysqld]标签下添加:character-set-server=utf8
      增加一个[client]标签,并且在[client]标签下添加:default-character-set=utf
3、到任务列表中重启mysql服务;
4、进入dos界面,登录数据库,输入命令:show variables like "%char%";如果dos界面出现的下图所示结果,说明你修改mysql编码成功啦;                 
5、重启mysql服务;


注意:如果修改之后还是不能插入中文,把之前创建好的库删掉,重新创建,就可以了。(因为之前创建的时候就默认是latin1的字符集了)
原创粉丝点击