+ -
当前位置:首页 → 问答吧 → servlet和wml的乱码问题

servlet和wml的乱码问题

时间:2010-08-16

来源:互联网

初学编程,实在有点不知道该怎么改了,我的wml传一个参数到servlet里,然后搜索数据库,返回的东西都是乱码
adminquery.jsp
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <title>AdminLogin_wap</title>
 </head>
 <body><div id="logo">
  <table>
  <tr>
  <td>
  <img alt="imutlogo.jpg" ></a>
  </td>
  </tr>
  </table>
 </div>
 <div class="sectitle">管理员查询界面</div>
 <div class="sec">
  <form action="AdminQueryHandle" method="post">

   
  <p>请输入要查询的管理员编号:<br />
  <input type="text" name="adminID" value="" /><br />&nbsp;
  <input type="submit" name="login" value="查询" class="button" />
</p>
</form>
</div></span> </body></html>
====================================
AdminQueryHandle.java
==
package com.imut.qurey;


import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.imut.control.Dbconnect;



public class AdminQueryHandle extends HttpServlet {


/**

*/
private static final long serialVersionUID = 1L;


public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/vnd.wap.wml encoding= \"GB2312 \"");
PrintWriter out = response.getWriter();
String AdminID=request.getParameter("adminID");

final String DBDRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
final String URL="jdbc:sqlserver://localhost:1433;DatabaseName=imut";
final String USER="sa";
final String PASSWORD="123456";

Connection con=null;
PreparedStatement pstm=null;
ResultSet rs=null;
try {
Class.forName(DBDRIVER);
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
con=DriverManager.getConnection(URL,USER,PASSWORD);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Dbconnect dbc=new Dbconnect();
String sql="select * from admin where adminID=?";
out.print("<?xml version=\"1.0\" encoding= \"GB2312 \"?>");
out.print("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" "+"\"http://www.wapforum.org/DTD/wml_1.1.xml\">");

out.print("<wml>");
out.print("<card>");
//out.print("<p>gsdtdtd</p>");

try {
PreparedStatement pst=dbc.getPreparedStatement(sql);
pst.setString(1,AdminID);
rs=pst.executeQuery();
while(rs.next()){
  out.print("用户号:"+rs.getString("adminID")+"<br/>");
out.print("用户名:"+rs.getString("adminName")+"<br/>");
out.print("电 话:"+rs.getString("adminTel")+"<br/>");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
out.print("</card></wml>"); }
  
}

===============
显示结果:
???:001
???:001
???:001

作者: cchs29   发布时间: 2010-08-16

我在AdminQueryHandle里改成utf-8还是这个问题,在eclipse里的浏览器运行不成这个AdminQueryHandle,只能用opera测试,用openwave sdk也是同样的效果

作者: cchs29   发布时间: 2010-08-16