ubuntu中mysql字符集设置详解

发布时间:2019-10-18编辑:脚本学堂
本文介绍了ubuntu中mysql字符集的设置方法,mysql字符集中文乱码的解决方法,有需要的朋友参考下。

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