首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

request.getParameter()取值乱码解决办法

2012-01-10 
request.getParameter()取值乱码大家好,我到网上找了很多关于request.getParameter这个乱码的解决方法都对

request.getParameter()取值乱码
大家好,我到网上找了很多关于request.getParameter这个乱码的解决方法都对我这个小程序不管用,把程序贴出来,大家帮我看看
我的jsp页面是这样的
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ page import="java.util.List"%>
<%@ page import="java.util.Iterator"%>
<%@page import="com.hanke.dao.Muju"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%request.setCharacterEncoding("UTF-8"); %>
<title>设备及模具系统</title>
<link href="css/css.css" rel="stylesheet" type="text/css" />
<script type="text/JavaScript">

</script>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>

<body>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  
  <tr>
  <td height="30"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
  <td height="62" background="images/nav04.gif">&nbsp;</td>
  </tr>
  </table></td></tr>
  <tr>
  <td><table id="subtree1" style="DISPLAY: " width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
  <td><table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
   
  <tr>
  <td height="40" class="font42">
<table width="100%" border="0" cellpadding="4" cellspacing="1" bgcolor="#464646" class="newfont03">
<tr class="CTitle" >
  <td height="22" colspan="11" align="center" style="font-size:16px">设备一览表</td>
  </tr>
  <tr bgcolor="#EEEEEE">
<td height="22" align="center" >模具编号</td>
<td height="22" align="center" >模具名称</td>
<td height="22" align="center" >购买日期</td>
<td height="22" align="center" >价格</td>
<td height="22" align="center" >适应产品</td>
<td height="22" align="center" >确认人</td>
<td height="22" align="center" >使用部门</td>
<td height="22" align="center" >供应商</td>
<td height="22" align="center" >备注</td>
<td height="22" align="center" >操作</td>
  </tr>
<% List list=(List)request.getAttribute("list");
if(list!=null&&list.size()>0){
Iterator it = list.iterator();
while (it.hasNext()) {
Muju j = (Muju) it.next();

%>
<tr bgcolor="#FFFFFF">
<td height="22" align="center" ><%=j.getMujuid()%></td>
<td height="22" align="center" ><%=j.getMujuname()%></td>


<td height="22" align="center" ><%=j.getBuydate()%></td>
<td height="22" align="center" ><%=j.getPrice()%></td>
<td height="22" align="center" ><%=j.getInproduct()%></td>
<td height="22" align="center" ><%=j.getConfimer()%></td>
<td height="22" align="center" ><%=j.getDepartment() %></td>
<td height="22" align="center" ><%=j.getSupplier()%></td>
<td height="22" align="center" ><%=j.getRemark()%></td>
<td height="22" align="center" ><a href="muju.do?opt=modify&id=<%=j.getMujuid()%>&name=<%=j.getMujuname()%>&buydate=<%=j.getBuydate()%>&price=<%=j.getPrice()%>&product=<%=j.getInproduct()%>&confimer=<%=j.getConfimer()%>&dept=<%=j.getDepartment() %>&supplier=<%=j.getSupplier()%> ">修改</a>&nbsp;&nbsp;<a href="muju.do?opt=delete&id=<%=j.getMujuid()%>">删除</a>&nbsp;&nbsp;<a href="mjweixiu.do?opt=weixiu&id=<%=j.getMujuid()%>&name=<%=j.getMujuname()%>">维修</a>
&nbsp;&nbsp;<a href="sbbaoyang.do?opt=baoyang&id=<%=j.getMujuid()%>&name=<%=j.getMujuname()%>">保养</a>&nbsp;&nbsp;<a href="sbbaoyangjh.do?opt=baoyangjh&id=<%=j.getMujuid()%>&name=<%=j.getMujuname()%>">保养计划</a>&nbsp;&nbsp;<a href="sbbeijian.do?opt=beijian&id=<%=j.getMujuid()%>&name=<%=j.getMujuname()%>">备件</a>
&nbsp;&nbsp;<a href="sbbaoyangjh.do?opt=baoyangjh&id=<%=j.getMujuid()%>&name=<%=j.getMujuname()%>">保养计划</a>&nbsp;&nbsp;<a href="sbjianyan.do?opt=jianyan&id=<%=j.getMujuid()%>&name=<%=j.getMujuname()%>&dep=<%=j.getDepartment()%>">验收</a>
</td>
</tr>
 
<%
}
}else{
%>
<tr bgcolor="#FFFFFF">
<td height="22" colspan="10" align="center" >对不起,没有添加设备信息!!!</td>
</tr>
<%}%>
  </table></td>
  </tr>
  </table>
  </td>
  </tr>
</table>
</body>
</html>
我的Aaction是这样写的

public ActionForward modify(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {
MujuForm mujuForm = (MujuForm) form;// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
//mujuForm.setMujuid(request.getParameter("id"));
//mujuForm.setMujuname(request.getParameter("name"));
//mujuForm.setInproduct(request.getParameter("product"));
//mujuForm.setConfimer(request.getParameter("confimer"));
mujuForm.setMujuid(new String(request.getParameter("id").getBytes("ISO-8859-1"),"UTF-8")); 
mujuForm.setMujuname(new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8")); 
mujuForm.setBuydate(new String(request.getParameter("buydate").getBytes("ISO-8859-1"),"UTF-8")); 
mujuForm.setPrice(new String(request.getParameter("price").getBytes("ISO-8859-1"),"UTF-8")); 
mujuForm.setInproduct(new String(request.getParameter("product").getBytes("ISO-8859-1"),"UTF-8")); 


mujuForm.setConfimer(new String(request.getParameter("confimer").getBytes("ISO-8859-1"),"UTF-8")); 
mujuForm.setDepartment(new String(request.getParameter("dept").getBytes("ISO-8859-1"),"UTF-8")); 
mujuForm.setSupplier(new String(request.getParameter("supplier").getBytes("ISO-8859-1"),"UTF-8")); 
String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
System.out.println("name====="+request.getParameter("name"));
System.out.println("product====="+request.getParameter("product"));
System.out.println("name====="+new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8")); 
 
return mapping.findForward("xgmj");
}



[解决办法]
用java.net.URLEncoder.encode编码,注意有时候要编码两次编码
然后呢再把编码后的参数传到action。
这个方法反正我是用了很多次了 对ie6也管用,楼主试试看

[解决办法]

探讨

现在是也不是有的中文都是乱码,就是中文中有个别字是乱码,这是怎么回事?
例如:制冰机模??

热点排行