这个问题已经捉弄过我好几次了,真是郁闷
这次的问题:在DOC环境下insert插入数据,然后再select提取数据,不会出现乱码,但在jsp文件下同样的操作在IE显示就出现乱码.
以前我是在页面头加<%request.getCharacterEncoding();%>就解决问题了,但现在不行,我用的是mysql4.1,my.ini文件中三个主要东西是这样设置的
default-character-set=gb2312
default-character-set=gb2312
default-storage-engine=INNODB
jsp页面加了<%@ page contentType="text/html;charset=gb2312"%>
望解..................

解决方案 »

  1.   

    在连接的url里设置编码格式了?
      

  2.   

    Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/haxinbbs)?useUnicode=true&characterEncoding=gb2312","root","****");我是这么写的,对么?不过这样写会出现错误!insert不了
      

  3.   

    晕,上面的有手误
    Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/haxinbbs?useUnicode=true&characterEncoding=gb2312","root","****");
    应该是这样的
      

  4.   

    一定要保持操作系统、开发环境和数据库环境三者的字符集相同或通用。
    之前遇到过LINUX下怎么显示都是乱码的问题,最后发现是字符集和开发环境、数据库的不一致造成。老问题了,搜一下以前的帖子,就有解决方法的。
      

  5.   

    说实话,该弄的我都弄了,还是解决不了,楼上说的操作系统,开发环境,数据库环境的各个字符集怎么设置呢我的操作系统: XP
    开发环境:Tomcat5.5(这个怎么设置)
    数据库: mysql4.1
      

  6.   

    试试这个, 
    request.setCharacterEncoding("gb2312");再有最好下一个MYSQL QUERY BROWSER 和一个ADMINISTRTOR来进行可视化的管理.
    建表和插数据都挺方便.
    建议重做一张表
      

  7.   

    试试!
    Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/haxinbbs?useUnicode=true&characterEncoding=iso-8859-1","root","****");
      

  8.   

    request.setCharacterEncoding("gb2312");
    错误提示说没有这个方法,存在这个方法吗,DW怎么没有提示呢,而且也会有错误
      

  9.   

    Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/haxinbbs?useUnicode=true&characterEncoding=iso-8859-1","root","****");
    还是不行
    request.setCharacterEncoding("gb2312");也不行
      

  10.   

    如下操作:
    1。创建数据库时指定编码方式,如:
    create database mydb default character set yourcharacterencoding(gbk,utf8, etc);
    2。jdbc连接设置,使用utf-8,如:
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf-8",username,password);
    3。页面设置,如:
    request.setcharacterencoding("yourcharacterencoding of database");<%@ page contentType="text/html;charset=yourcharacterencoding of database"%><meta http-equiv="Content-Type" content="text/html; charset=yourcharacterencoding of database">
      

  11.   

    public String Set(String str) {
    String str1 = null;
    try {
    str1 = new String(str.getBytes("iso8859_1"), "gb2312");
    } catch (Exception e) {
    e.printStackTrace();
    } return str1;
    }
    数据插入数据库之前先调用这个方法进行编码转换,操作系统的编码是iso8859_1