<%@ page language="java" import="java.util.*,manager.*,entity.*" pageEncoding="gbk"%>
<%
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 'update.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>
  <%
   request.setCharacterEncoding("gbk");
   int id=Integer.parseInt(request.getParameter("id").toString());
   if(id!=0){
   Material mater=new Material();
   Materials materials=new Materials();
   materials=mater.SelById(id);
  
   %>
   
  <body>
  <form action="doUpdate.jsp" methot="post">
    <table>
    <tr><td colspan="2"><br>更新物资信息</td></tr>
    <tr><td>物资名称:</td><td><input type="text" name="name" value=<%=materials.getName() %>></td></tr>
    <tr><td>物资规格:</td><td><input type="text" name="spec" value=<%=materials.getSpec() %>></td></tr>
    <tr><td>物资数量:</td><td><input type="text" name="number" value=<%=materials.getNumber() %>></td></tr>
    <tr><td>物资单价:</td><td><input type="text" name="price" value=<%=materials.getPrice() %>></td></tr>
    <tr><td colspan="2"><input type="hidden" name="id" value=<%=materials.getId() %>></td></tr>
    <tr>
    <td>生产厂商:</td>
    <td><input type="text" name="producer" readonly="readonly" style="color:gray" value=<%=materials.getProducer() %>></td></tr>
     <tr><td><input type="submit" value="提交"></td><td><input type="reset"value="重置"></td></tr>
    </table>
    </form>
  </body>
  <%
  }else
  {
   %>
   <div>ID不 正确</div>
   <%
   }
    %>
</html>
<%@ page language="java" import="java.util.*,entity.*,manager.*" pageEncoding="gbk"%>
<%

request.setCharacterEncoding("gbk"); //实体类 
Materials mater=new Materials();
mater.setName(request.getParameter("name"));
mater.setSpec(request.getParameter("spec"));
mater.setNumber(request.getParameter("number"));
mater.setPrice(request.getParameter("price"));
mater.setProducer(request.getParameter("producer"));
mater.setId(Integer.parseInt(request.getParameter("id").toString()));

Material mat=new Material();

boolean reslut=mat.UpdateByID(mater);
if(reslut==true)
{
response.sendRedirect("index.jsp");
}else
{
out.print("修改失败 !");
}
 %>
修改后数据库的内容就变乱码了,数字没变乱码,只有中文

解决方案 »

  1.   

    post gbk 都对齐,没有一个落下的。怎么还会乱码呢?
      

  2.   

    设断点看下
    //实体类  
    Materials mater=new Materials();
    mater.setName(request.getParameter("name"));
    mater.setSpec(request.getParameter("spec"));
    mater.setNumber(request.getParameter("number"));
    mater.setPrice(request.getParameter("price"));
    mater.setProducer(request.getParameter("producer"));
    mater.setId(Integer.parseInt(request.getParameter("id").toString()));
    这里接受到的数据正确不?
      

  3.   

    这个都被你看到了,果然错了!
    有些代码怎么看着就不爽咧
    int id=Integer.parseInt(request.getParameter("id").toString());
    能不能先判断一下是否为空啊!
      

  4.   

    写程序要学会自己差错,不要有了问题就是问问,先自己一步的测,像什么System.out.print();out.print();alert();等测试一下你要穿的值是不是正确等一系列测试我想这样你的问题应该多能解决的