当前位置:首页 > Mysql教程 > 列表

解决mysql的默认字符编码和中文乱码问题

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-13 10:42:48 浏览: 评论:0 

MySQL的默认编码是Latin1,不支持中文,那么如何修改MySQL的默认编码呢,下面以UTF-8为例来说明.

启动mysql后,以root登录mysql,代码如下:

  1. mysql > show variables like 'character%';#执行编码显示 
  2. +--------------------------+----------------------------+ 
  3. | Variable_name | Value | 
  4. +--------------------------+----------------------------+ 
  5. | character_set_client | latin1 | 
  6. | character_set_connection | latin1 | 
  7. | character_set_database | latin1 | 
  8. | character_set_filesystem | binary | 
  9. | character_set_results | latin1 | 
  10. | character_set_server | latin1 | 
  11. | character_set_system | utf8 |  --phpfensi.com 
  12. | character_sets_dir | /usr/share/mysql/charsets/ | 
  13. +--------------------------+----------------------------+ 

这是安装后,默认的字符编码,Solaris与windows类似.

需要注意的是,要修改的地方非常多,相应的修改方法也很多。,下面是一种最简单最彻底的方法.

一、Windows

1、中止MySQL服务

2、在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可

3、打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭

4、启动MySQL服务

二、Linux

1、中止MySQL服务(bin/mysqladmin -u root shutdown -p)

2、在/etc/下找到my.cnf,如果没有就把MySQL的安装目录下的support-files目录下的my-large.cnf复制到/etc/下并改名为my.cnf即可.

3、打开my.cnf以后,修改以下,保存并关闭.

找到客户端配置[client] 在下面添加:

default-character-set=utf8 默认字符集为utf8

在找到[mysqld] 添加:

default-character-set=utf8 默认字符集为utf8

init_connect='SET NAMES utf8' ,设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行.

4、启动MySQL服务(bin/mysqld_safe &),重新查看编码显示:

  1. mysql > show variables like 'character%'; #执行编码显示 
  2. +--------------------------+----------------------------+ 
  3. | Variable_name | Value | 
  4. +--------------------------+----------------------------+ 
  5. | character_set_client | utf8 | 
  6. | character_set_connection | utf8 | 
  7. | character_set_database | utf8 | 
  8. | character_set_filesystem | binary | 
  9. | character_set_results | utf8 | 
  10. | character_set_server | utf8 | 
  11. | character_set_system | utf8 | 
  12. | character_sets_dir | /usr/share/mysql/charsets/ | 
  13. +--------------------------+----------------------------+ 

修改后的编码显示,Solaris与windows类似.

非常简单,这样的修改一劳永逸,今后MySQL一切相关的默认编码均为UTF-8了,创建新表格的时候无需再次设置.

Tags: mysql乱码字符 mysql中文乱码

分享到: