站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题Servlet转页传参数出现中文编码问题

Servlet转页传参数出现中文编码问题

摘要: Servlet转页传参数出现中文编码问题


我是新手,最近做一个上传的东东。
Servlet 中
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
PrintWriter out = response.getWriter();
response.setContentType("text/html;charset=gb2312");
out.println("");
out.println("<body BGCOLOR='white'>");
out.println("

jspSmartUpload : Servlet Sample

");
out.println("
");
// 变量定义
int count = 0;
SmartUpload mySmartUpload = new SmartUpload();
try {
// 初始化
mySmartUpload.initialize(config, request, response);
// 上载
mySmartUpload.upload();
// 保存上载文件到指定目录
count = mySmartUpload.save("upload/");
// 获得文件名
com.jspsmart.upload.File file = mySmartUpload.getFiles().getFile(0);
String fileName = file.getFileName();
// 显示处理结果
//out.println(count + " file uploaded.");
//System.out.println (fileName);
response.sendRedirect("a.jsp?filename=" + fileName);//<-------问题所在
} catch (Exception e) {
out.println("Unable to upload the file.
");
out.println("Error : " + e.toString());
}
out.println("</body>");
out.println("");
}
我在a.jsp中用request.getParameter("filename")获得是乱码,不知怎么解决,请高手帮忙


(4)如果是通过"a.jsp?param=中文"传递参数,则需要:
a.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(param);
取值用java.net.URLDncoder.dncode(param);再转回中文
b.在你的Tomcat目录conf目录server.xml里找出这段:

port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true"


↑返回目录
前一篇: 页面跳转传值
后一篇: wincvs使用问题