您的位置:首页 > 运维架构 > Linux

Linux下MySQL默认编码修改

2015-04-17 15:46 369 查看
对于中文来说,数据库编码一直都是一个大问题,不过我们在Linux下mysql中可以起初将所有的编码全部设置为UTF-8,操作如下:

1.设置前看mysql编码:

mysql> show variables like '%character%';

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.32 sec)

mysql>

mysql> status;这行指令也可以查看编码情况;

2.修改/etc/mysql/my.cnf 文件, sudo gedit /etc/mysql/my.cnf

在 [client ] 下面加入    

default-character-set=utf8

在[ mysqld ] 下面加  

character-set-server=utf8  

init_connect='SET NAMES utf8'(或者是SET NAMES 'utf8')设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

在[ mysql ] 下面加入   

default-character-set=utf8

3.重启mysql

sudo /etc/init.d/mysql restart

下面我们可以使用show variables like 'character%';查看mysql编码:

+--------------------------+----------------------------+

| 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 | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

即使做了以上修改如果直接数据库再创建表,然后存入中文,取出来的会是问号,解决的办法是:创建数据库的时候指明默认字符集为utf8,如:

create database test default character set utf8;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: