请高手指点一下,谢谢!
我从数据库中提取数据,然后在jsp页面中显示,总是出现乱码。  数据库中本来有个人叫“黄嫚”,但在JSP页面中显示为 “黄??”我的执行过程是这样的
String gb=null;
 String iso=new String(rs.getString("ep_name"));  
//rs.getString("ep_name") 这句是直接提取数据库里的字段ep_name;
if(iso!=null){
try {
                 gb=new String(iso.getBytes("ISO-8859-1"),"GBK");
         } catch (Exception e) {
                 e.getMessage();
         }
}
out.println(gb);

解决方案 »

  1.   

    <%@page pageEncoding="UTF-8"%>
    <%!private String trans(String chi) {
            String result=null;
            byte temp[];
            try{
                temp=chi.getBytes("iso-8859-1");
                result=new String(temp,"UTF-8");
            } catch(java.io.UnsupportedEncodingException e) {
                System.out.println(e.toString());
            }
            return result;
        }
    %> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><%
    String op=trans(request.getParameter("test"));
    %>楼主,其他几行代码我就不贴了,我一直都这样做的,希望对你和其他有这样烦恼的朋友有帮助。
      

  2.   

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

  3.   

    如用eclipse 在jsp文件右击属性把text file encoding改为utf-8
      

  4.   

    數據庫中的數據采用gb2312編碼,在JSP中顯示數據庫中的數據時不需要編碼轉換,只需在JSP文件開頭指明該JSP文件采用gb2312編碼即可
    <%@ page language="java" contentType="text/html;charset=BIG5"%>
    <%=rs.getString("ep_name")%>
      

  5.   

    看用的是什么数据库了,MySql的话安装直到配制都要设置编码,SQL server 2000就不用了,
    首先jsp页面要设置编码"utf-8",
    不行的话就在request得到时再设置编码集,
    再尝试加过滤器~~
      

  6.   

    html页面的编码方式也要对哦。
    就是那个<meta>的
      

  7.   

    告诉你个绝对好又简单的方法:重新解码并编码。
    假设aa为黄嫚。
    String bb=new String(aa.getByte("ISO-8859-1"),"gb2312");
    再输出bb绝对没有问题。呵呵!!
      

  8.   

    谢谢大家的热情帮助哈。特别要感谢 jeffysky1 这位朋友。我按照您的提示,把utf-8 全部改为GBK .就可以了正常显示了。也非常感谢大家哈