经过几天的翻阅文档和实验,终于找到了比较好的解决办法。可以不需要修改my.ini,在建立数据库的时候,对库和表的字符集设置不太重要,但是对文本类型的字段最好都设置为GBK字符集。
对于已有的数据库可以用以下方法转换字段编码:
Mysql>ALTER TABLE t MODIFY hoverfly BINARY(100); Mysql>ALTER TABLE t MODIFY hoverfly CHAR(100) CHARACTER SET gbk;
注意用此方法如果不修改程序,会发现查询出的结果都是乱码,也可以通过在my.ini的[mysqld]和[*client]段内加default-character-set=gb2312来纠正,当然位置要放对了才可以,root重启机器(这一步很重要)。
其实有更简单的办法,在进行查询前,只要执行SET character_set_results = NULL就可以。而且这是不管是转换了的还是没转换的字段都不会出现乱码。而转换了的字段可以正常的对中文进行排序。 |