Mysql数据库是一个开源的数据库,应用非常广泛。以下是修改mysql数据库的字符编码的操作过程和将表的字符编码转换成utf-8的方法,需要的朋友可以参考下
mysql将表的字符编码转换成utf-8
alter table tb_anniversary convert to character set utf8;
修改数据库mysql字符编码为UTF8
步骤1:查看当前的字符编码方法
mysql> show variables like'character%';
+--------------------------+----------------------------+
|Variable_name |Value |
+--------------------------+----------------------------+
|character_set_client |latin1 |
| character_set_connection |latin1 |
| character_set_database |latin1 |
| character_set_filesystem |binary |
|character_set_results |latin1 |
|character_set_server |latin1 |
|character_set_system |utf8 |
|character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
字符编码为latin1时,用户在给数据表插入一条字符类型(char)的记录,在显示此记录时可能会无法正常显示字符类型的数据,故此处我们将mysql字符编码修改为UTF8。操作如下:
步骤2:修改my.cnf配置文件,修改后如下(/etc/my.cnf):
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8 #设置默认编码为UTF8
这样设置基本没问题,说说我开始面临的问题,我在开始的时候,sql语句里面都是设置了字符集编码格式:
SET table_type=InnoDB;
show variables like 'table_type';
SET character_set_client='utf8';
SET character_set_connection='utf8';
SET character_set_database='utf8';
SET character_set_results='utf8';
SET character_set_server='utf8';
SET collation_connection=utf8_chinese_ci;
SET collation_database=utf8_chinese_ci;
SET collation_server=utf8_chinese_ci;
show variables like 'character%';
show variables like 'collation%';
可是当在前台输入测试数据的时候,数据库中收到的都是乱码,郁闷之余看了下教程,原来是在my.ini中没在
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
添加
default-character-set=utf8 #设置默认编码为UTF8
最后就是:
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8 #设置默认编码为UTF8
这样默认的字符编码格式就对了。
未经允许不得转载:哈勃私语 » mysql修改数据库编码(数据库字符集)和表的字符编码的方法
本文共1919个字 创建时间:2016年11月16日0:03