> Ubuntu >

ubuntu中mysql字符集设置详解

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。 还有就是修改字符集只对之后添加的数据有效,已存在的数据不会改变。

(责任编辑:IT)