1 ��  ��  
2 ��  ��  
3 ��  ��  数字能显示,可是汉字却不显示,代码如下
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="GB2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'test.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->  </head>
  <%
   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
   String url="jdbc:sqlserver://localhost:1433;DatabaseName=test";
   String user="sa";
   String pwd="523325";
   Connection conn=DriverManager.getConnection(url,user,pwd);
   Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
   String sql="select * from jilu";
   ResultSet rs=stmt.executeQuery(sql);
   while(rs.next()){
   %>
  <body>
   <table>
   <tr>
    <td><%=rs.getInt("id")%></td><td><%=rs.getString("name") %></td><td><%=rs.getString("sex") %></td>
   </tr>
   <%} %>
   <%rs.close();
   stmt.close();
   conn.close(); 
   %>
   </table>
  </body>
</html>

解决方案 »

  1.   

    把pageEncoding="GB2312" 改为pageEncoding="UTF-8"试试
      

  2.   

    就是这个原因,已经解决了。我想问为什么要改成UTF-8,用什么样的编码方式跟什么因素有关,跟数据库有关吗?谢谢
      

  3.   

    [Quote=引用 5 楼  的回复:]引用 4 楼  的回复:引用 3 楼  的回复:把pageEncoding="GB2312" 改为pageEncoding="UTF-8"试试
    就是这个原因,已经解决了。我想问为什么要改成UTF-8,用什么样的编码方式跟什么因素有关,跟数据库有关吗?谢谢
    因为 要统一编码格式,不同编码混在一起就乱码了~~
    [/Quote\
    你是说数据库的编码要和网页代码的编码一样吗