mysql中文乱码终极解决办法

mysql中文乱码终极解决方法

适合 linux and windows。

1.确定这些参数是以下值:

mysql> show variables like ‘character%’;

+————————–+——————————————-+

| Variable_name            | Value                                     |

+————————–+——————————————-+

| character_set_client     | utf8                                      |

| character_set_connection | utf8                                      |

| character_set_database   | utf8                                      |

| character_set_results    | utf8                                      |

| character_set_server     | utf8                                      |

| character_set_system     | utf8                                      |

| character_sets_dir       | D:\MySQL\MySQL Server 5.0\share\charsets\ |

+————————–+——————————————-+

7 rows in set (0.00 sec)

mysql> show variables like ‘collation%’;

+———————-+—————–+

| Variable_name        | Value           |

+———————-+—————–+

| collation_connection | utf8_general_ci |

| collation_database   | utf8_general_ci |

| collation_server     | utf8_general_ci |

+———————-+—————–+

3 rows in set (0.00 sec)

具体可以通过set global character_set_server = utf8或者通过改

/etc/my.cnf来完成,windows的就改安装目录下的my.ini。

2.确保数据库建库与建表都是utf charset;

a. 修改MYSQL数据库编码,如果是MYSQL数据库编码不正确: 可以在MYSQL执行如下命令: ALTER DATABASE test DEFAULT CHARACTER SET utf8;

以上命令就是将MYSQL的test数据库的编码设为utf8;

b. 修改MYSQL表的编码:ALTER TABLE category DEFAULT CHARACTER SET utf8;

以上命令就是将一个表category的编码改为utf8;

c. 修改字段的编码:

ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

以上命令就是将MYSQL数据库test表中 dd的字段编码改为utf8;

3.这样子完了,基本就可以了,如果使用命令行的模式去查询数据还是乱码,那么在查询前先执行 set names gbk;就可以了。为什么是gbk,我也还没弄明白。反正utf8是不work。

mysql中文乱码终极解决办法

相关文章:

你感兴趣的文章:

标签云: