mysql/ target=_blank class=infotextkey>mysql数据库中中文乱码解决方法:
设置server级,db级,table级使用的字符集为utf8。
设置方法:
查看mysql字符集状态:
1,先使用客户端工具mysql登录:
复制代码 代码示例:
mysql> status
--------------
mysql Ver 14.14 Distrib 5.5.29, for
linux2.6 (i686) using readline 5.1
Connection id: 2
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.5.29-log MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock
Uptime: 1 min 10 sec
2,设置server级字符集:
编辑 /etc/my.cnf文件
复制代码 代码示例:
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
注:[mysqld]处也可使用default-character-set=utf8,如果启动mysql服务出错的话,就使用character_set_server=utf8。
3,设置db级字符集:
创建数据库是指定:
复制代码 代码示例:
mysql> create database mytest character set utf8;
4,修改已有数据库字符集:
复制代码 代码示例:
mysql> alter database character set utf8;
5,设置表字符集:
创建表时指定:
复制代码 代码示例:
mysql> create table mytable(id int auto_increment primary key) character set utf8;
6,修改表的字符集:
复制代码 代码示例:
mysql> alter table mytable character set latin1;
如果数据中要存放中文字符, 推荐使用utf8。 还有就是修改字符集只对之后添加的数据有效,已存在的数据不会改变。