网上搜了很多方法,都没用啊。JSP的页面设置成了GBK,request.setCharacterEncoding("GBK");也写了。数据库的字符集也该成了GBK,全都到位了,但还是读不出中文,跪求大神相助啊

解决方案 »

  1.   

    在mysql的配置my.ini文件中加入default-character-set=gbk# The MySQL server
    [mysqld]
    #skip-grant-tables  #//skip grant table.
    #skip-networking
    port = 3306
    socket = MySQL
    skip-locking
    key_buffer_size = 16K
    max_allowed_packet = 1M
    table_open_cache = 4
    sort_buffer_size = 64K
    read_buffer_size = 256K
    read_rnd_buffer_size = 256K
    net_buffer_length = 2K
    thread_stack = 128K
    default-character-set=gbk
      

  2.   

    1, 确保数据库支持中文  default-character-set=gbk
    2, 确保在传参, 编码时使用正确的编码集;
      

  3.   

    刚好有一些代码,用的是MSSQLServer,都是GBK编码:
    1、<%@ page contentType="text/html; charset=GBK"%>
    2、<meta http-equiv="Content-Type" content="text/html; charset=GBK">
    3、在使用ajax传参时可以用以下代码:
     1)传出参数前用encodeURI进行编码
     2)java.net.URLDecoder.decode((String)request.getParameter("param"),"utf-8");解码
       因为JSP内部使用utf-8。
     3)写入数据库时将字符串编码转换从当前编码到GBK(假设数据库也是GBK编码)
    String newStr=new String(str.getBytes(),"GBK");
      

  4.   

    传输流编码
    数据库编码
    jsp文件编码 这个易忽略