ubuntu中mysql字符集设置详解
时间:2014-12-19 11:57 来源:linux.it.net.cn 作者:IT
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)
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级字符集:
[client]
default-character-set=utf8 [mysqld] character_set_server=utf8
注:[mysqld]处也可使用default-character-set=utf8,如果启动mysql服务出错的话,就使用character_set_server=utf8。
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) |