你好~~我现在有个是数据库的显示乱码的问题请教一下呀
    我用的是mysql,有个varchar类型的,有设为binnary属性的(设不设问题不大吧?) 在jsp页面还是无法正常显示
    我的代码是一个JSP里的表单提交数据到一个servlet处理提取在mysql里的varchar中文数据,然后servlet转到另个jsp页面显示这些数据,两个jsp页面<%@ page contentType="text/html; charset=gb2312"%> <% request.seCharacterEncoding("gb2312"); %>我都加了
    那个servlet里我也加了request.setCharacterEncoding("GB2312"); response.setCharacterEncoding("GB2312");
    还有连接数据库的url是"jdbc:mysql://localhost:3306/zice?useUnicode=true&characterEncoding=gbk"
   可还是jsp页面里那些从数据苦里提出的数据还是"???.."请问一下怎么解决啊,谢谢了!  

解决方案 »

  1.   

    你这样替换一下试试:
    你的程序中要么用大写的GB2312要么全部用小的gb2312
    "jdbc:mysql://localhost:3306/zice?useUnicode=true&characterEncoding=GB2312"
      

  2.   

    你在mysql命令行下运行这个命令看看设置对了么
    SHOW VARIABLES LIKE 'character_set_%';| character_set_client | gbk |
    | character_set_connection | gbk |
    | character_set_database | gbk |
    | character_set_results | gbk |
    | character_set_server | gbk |
    | character_set_system | utf8 |
    | character_sets_dir | /usr /mysql/charsets/ | 如果这样就是对的了,如过不是这样的话建议重新设置数据库环境,他本来默认的是 latin1 你要修改为gbk  用mysql自带的工具就可以啦  mysql server instance configuration 
      

  3.   

    首先,在jsp头加上<%@ page contentType="text/html;charset=GB2312"%>
    然后,再加上一句<%request.setCharacterEncoding("GBK");%>
    最后,再可以函数通过转化成 iso-8859-1的简体中文字符,以下是转换的代码:
    public class ToGbk {  public String toGBK(String str)
        {
          try
          {
            if(str == null)
              str = "";
            else
              str = new String(str.getBytes("ISO-8859-1"),"GBK");
          }
          catch(Exception e)
          {
            System.out.println("DealingString::toGBK(String)运行时出错:错误为:"+e);
          }
          return str;
      }
    }
      

  4.   

    <%request.setCharacterEncoding("GBK");%>
      

  5.   

    hzyuqi(宇琦) 你好,我在mysql命令行下运行这个命令SHOW VARIABLES LIKE 'character_set_%'
    出现的是
    | Variable_name            | Value |
    | character_set_client     | latin1|
    | character_set_connection | latin1|
    | character_set_database   | latin1|
    | character_set_results    | latin1|
    | character_set_server     | latin1|
    | character_set_system     | utf8  |
    | character_sets_dir       | D:/MySQL Server 4.1/share/charse/ |按你说问题是出在这吧~那请问如何重新设置数据库环境呢,怎么把本来默认的 latin1 修改为gbk  怎么用mysql自带的工具,谢谢了
      

  6.   

    你在安装MYSQL的时间把MYSQL的编码方式设置成GB2312就OK了
      

  7.   

    就是用这个
     mysql server instance configuration在开始菜单里啊
      

  8.   

    页面里既然指定使用gb2312,那么你的数据库字符集,页面文件和java文件的保存编码都最好保存为gb2312,页面文件可以用edit plus另存,保存时选择gb2312编码。类文件如果使用jbuider的话可以在project的property里设置工程的字符集为gb2312.