linux系统下mysql中文乱码解决

2013-03-20  付民 

【问题:web客户端向服务器端提交中文表单数据后,存到数据库里都成了乱码。】

1.、启动mysql后,以root登录mysql

[root@localhost ~]#service mysqld start

[root@localhost ~]#mysql -uroot -p1111111

2 、 [root@localhost ~]#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/ |
+————————–+—————————-+

mysql默认是latin1

3、 打开/etc/my.cnf 如果没有 把/usr/share/mysql/my-large.cnf 拷贝一份过来 命名my.cnf

[root@localhost ~]#cd /usr/share/mysql

[root@localhost mysql]#cp my-large.cnf /etc   //把mt-large.cnf文件拷贝到etc目录下

[root@localhost etc]#mv my.cnf my_back.cnf  //修改原有etc目录下的my.cnf文件为my_back.cnf

[root@localhost etc]#mv my-large.cnf my.cnf  //把拷贝过来的my-large.cnf文件修改为my.cnf

[root@localhost etc]#vim my.cnf   //编辑my.cnf文件

4、我们需要修改my.cnf  找到客户端配置[client] 在下面添加

### 默认字符集为utf8
default-character-set=utf8

在找到[mysqld] 添加
### 默认字符集为utf8
default-character-set=utf8
### (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)
init_connect=’SET NAMES utf8′

保存并退出编辑。

5.、把之前创建的数据库删删除掉,然后重新创建,就ok了。

 

本文固定链接: http://www.test-life.org/?p=521 | 测试之路-My Test Space

404°/4047 人阅读/0 条评论 发表评论

登录 后发表评论