关于数据库乱码的问题,以mysql数据库为例(个人心得,勿喷)

来源:互联网 发布:淘宝网泾县宣纸 编辑:程序博客网 时间:2024/06/05 17:21

如果要保证字符不乱码,最基本的原则是一定保证数据库中的编码和系统的编码一致。

(系统字符集可以通过如下代码查看:System.out.println("系统字符集:"+System.getProperty("file.encoding")); )

修改mysql的数据库文件my.ini可以修改mysql数据库的字符集,以由最初的配置latin1修改成gbk为例。

修改两处:default-character-set=latin1

改为:default-character-set=gbk

注意:1.修改后要重启数据库才行。

            2.通过在mysql客户端命令输入:show variables like 'character_set_%';查看各项是否都已经改成了相应的字符集
           +--------------------------+-----------------------------------------------------------------------------------+
          | Variable_name             | Value                       |
          +--------------------------+------------------------------------------------------------------------------------+
          | character_set_client          | gbk                        |
          | character_set_connection |gbk                        |
          | character_set_database    | latin1                     |
          | character_set_filesystem   | binary                    |
          | character_set_results        |gbk                        |
          | character_set_server         |gbk                       |
          | character_set_system        | utf8                       |
          | character_sets_dir             |  D:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ |
          +--------------------------+-------------------------------------------------------------------------------------+

           我们可以看出,并不是所有的条目都改成了gbk字符集,所以在这里建议如果只是一个测试数据库,可以删除后重新建立,那么之后所有的

          条目就会都成为gbk了。(分析原因:因为修改数据库字符集之前,数据的字符集character_set_database已经是latin1字符集了,所以只是

          通过简单的修改my.ini配置文件是不够的。)

         当然,如果你不希望删除已经建立的数据库,这里也有办法滴!这也是本文讲解的重点,搞了好久才发现。

         我们应该找到mysql安装目录下的data文件中,在那里存放了我们已经建立好的数据库,我们可以直接修改数据库选项文件:

         比如名为:SDU的数据库文件夹下有db.op,我们打开可以修改里面的选项:

         default-character-set=latin1
         default-collation=latin1_chinese_ci

         改成:

        default-character-set=gbk
        default-collation=gbk_chinese_ci

        这样就OK啦!

0 0
原创粉丝点击