<meta http-equiv="Content-Type" content="text/html; charset=gb2312">不要用这个,用以下这个:
<%@page import="java.util.*,java.io.*,java.sql.*,lunwen1.*"%>
今天高手教我的,你可以查查今天我发的帖子,里面比较详细

解决方案 »

  1.   

    你是不是从数据库调出的时候使用了ASCALL码的转化?
    如果使用了的话就是错的
    我在做jsp的时候遇见过这种问题
    毛病就是我说的这个
    你直接从数据库读出就行了
      

  2.   

    数据库操作不需要编码:只要数据库服务器和Web服务器字符集设置一致即可
      

  3.   

    <%@ page contentType="text/html; charset=gbk"%> 設置内容編碼存入數據庫必須編碼正確 取出時不需要轉碼
      

  4.   

    <%!
    private String aTarget;
    //显示中文
    public String codeTransfer(String aSource){
    if(aSource==null){return "";}
    aTarget = aSource.trim();
    try{
    aTarget = new String(aTarget.getBytes("ISO8859_1"));
    }catch(java.io.UnsupportedEncodingException e){
    return aSource.trim();
    }
    return aTarget;
    }%>
    调用
    String test1=new String(request.getParameter("test1"));
    test1=codeTransfer(test1);
      

  5.   

    能不修改java文件直接改jsp里面的代码方法吗?有没有确实有效的方法??
      

  6.   

    这样的,我的处理方式为
    在JSP页面上声明为UTF-8,代码如下:
    在开始处:<%@ page contentType="text/html; charset=UTF-8" %>
    在Head处:<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    JSP页面需要指定用UTF-8编码保存。假设上述JSP页面中有个form提交了,在取的时候需要用如下语句设置编码
    无论是在提交到的servlet中还是jsp中都可以使用request.setCharacterEncoding("UTF-8");来设置编码。
    这样再取的时候就可以取出form提交的中文字符了。但是如果要显示出来,看你是怎么显示的了。
    有两种,一种是用<%out.println(stringsss);%>或者<%= stringsss%>;一种是用response的getWriter()方法生成一个输出流来打印。如果是前者的话,就需要让JSP页面为UTF-8的编码即可。如果是后者,则需要设定response的输出编码为UTF-8,用如下语法来定义:
    private static final String CONTENT_TYPE = "text/html; charset=UTF-8"; 
    response.setContentType(CONTENT_TYPE);
    此时再用response生成输出流来输出则可以正确的显示中文。公司因为繁体和简体一起用,所以选择了UTF-8编码,不过我想其他编码也应该是类似的思维方式了。限于篇幅原因无法贴出所有的代码,选择贴出主要的部分,如果有人不理解,可以发mail给我,或者上我的blog:http://forum.javaeye.com/blog.php?sid=9edfad2275cb30785d8bc998f4c347d2