mysql修改数据库编码(数据库字符集)和表的字符编码的方法

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   

分享到:更多 ()