mysqlurl = "jdbc:mysql://127.0.0.1:3306/";
DriverManager.getConnection(mysqlurl+dbName+"?useUnicode=true&characterEncoding=GBK",user,pwd);
为什么通过上面这种方式连接MySQL数据库后,查询返回的记录里中文全是乱码?记录直接在后台的Tomcate5.0上打印出来了。

解决方案 »

  1.   

    MYSQL 建库得时候用得是什么编码
      

  2.   

    在MySQl的客户端工具里汉字显示正常,建库用的是gbk编码。我用gbk,gb2312都试了。
      

  3.   

    在MySQl的客户端工具里汉字显示正常,建库用的是gbk编码。我用gbk,gb2312都试了,但我在程序里把取出来的记录打印在tomcate里显示全是乱码,当然页面也都是乱码。
      

  4.   

    这是我总结的一些解决方案,不知对LZ有帮助没
    1: 安装MySQL数据库时候就指定字符集合为gbk或者gb2312,只要数据库中显示正常中文字符的话,页面肯定显示正常,哪来这么多的转换,烦死了!!
    2: 指定服务器的 编码   GBK   或者GB23123: 修改安装目录下的  初始化配置文件   my.ini# The TCP/IP Port the MySQL Server will listen on
    port=3306
    #Path to installation directory. All paths are usually resolved relative to this.
    basedir="E:/MySQL5/"#Path to the database root
    datadir="E:/MySQL5/Data/"# The default character set that will be used when a new schema or table is
    # created and no character set is defined
    default-character-set=latin1             换成  gbk   或者  gb2312# The default storage engine that will be used when create new tables when
    default-storage-engine=INNODB
      

  5.   

    在WINDOWS下的话可以换一个 MYSQL驱动来试下如果是LINUX下的应该是编译MYSQL的时候没有选择对的编码