CentOS修改MySQL编码方法

回复 收藏
对数据库中的数据进行备份或者将sql文件导入到我们的数据库时要注意编码的问题。
window下的mysql,可在安装的时候,选择好整个数据库的编码方式(通常设置成utf8)。

linux需要在配置中添加 。
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       | /sincethen/mysql/share/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.00 sec)


默认的数据库编码方式基本都设置成了latin1的编码方式。

2配置修改。
my.cnf配置文件


在[client]下增加 default-character-set=utf8 字段


在[mysqld]下增加 default-character-set=utf8 字段,同时加上init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)



3重启mysql服务。查看配置。
service mysqld restart
show variables like "%character%";
+--------------------------+----------------------------------+
| Variable_name            | Value                            |
+--------------------------+----------------------------------+
| character_set_client     | utf8                             |
| character_set_connection | utf8                             |
| character_set_database   | utf8                             |
| character_set_filesystem | binary                           |
| character_set_results    | utf8                             |
| character_set_server     | utf8                             |
| character_set_system     | utf8                             |
| character_sets_dir       | /sincethen/mysql/share/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.00 sec)



4 也可在创建数据库的时候指明默认字符集为utf8

例如:create database discuz charset=utf8;

2015-12-17 23:11 举报
已邀请:
0

sincethen

赞同来自:

本帖最后由 sincethen 于 2015-12-18 09:16 编辑

再加点备注的编码问题:
1  mysql导入导出命令
参数:--default-character-set  =    后面可跟 gb2312 ,big5  ,gbk , utf8 。这些字符集都为中文兼容。


eg;
mysqldump -hlocalhost -P3306 -uroot  -p123456 --default-character-set=gb2312 test>pushingdb.sql


mysql  -uroot -p123456 --default-character-set=gb2312 test< pushingdb.sql


2  数据库表中字段的字符集设置查看
show create table TableNameshow full columns from tableName


3 一些参数设置


SET character_set_client = utf8 ;               
SET character_set_connection = utf8 ;







回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: