mysql 中文乱码问题

来源:互联网 发布:管螺纹g1 2编程 编辑:程序博客网 时间:2024/06/12 00:34

表现一:插入中文的时候显示data too long

        二:插入成功后,search出来的结果显示乱码.


 

解决方法如下:

(1) 只要是gb2312,gbk,utf8等支持多字节编码的字符集都可以储存汉字,当然,gb2312中的汉字数量远少于gbk,而gb2312,gbk等都可在utf8下编码

(2)用命令show variables like 'character/_set/_%';查看当前字符集设定:

mysql> show variables like 'character/_set/_%';

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

| Variable_name | Value |

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

| character_set_client | gb2312 |

| character_set_connection | gb2312 |

| character_set_database | gb2312 |

| character_set_filesystem | binary |

| character_set_results | gb2312 |

| character_set_server | latin1 |

| character_set_system | utf8 |

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

7 rows in set (0.02 sec)

(笔者在这里设置的字符是gb2312)

显示中文乱码主要有两个设置:character_set_connection 和character_set_results ,

如果你的这两个设置不支持中文编码,就会出现乱码,只要:set character_set_results =gbk;就设置中文编码了.