A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马晓志 中级黑马   /  2014-4-29 16:24  /  1122 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑马晓志 于 2014-4-29 16:30 编辑

修改tomcat的编码:在servr.xml中加入URIEncoding="UTF-8"
如下
  1. <Connector port="8080" protocol="HTTP/1.1"
  2.                connectionTimeout="20000"
  3.                redirectPort="8443"  URIEncoding="UTF-8"/>
复制代码

代码如下,
一个是request的post请求,没有设置request的编码。
一个是response的Writer流,往浏览器写数据,没有设置response的编码。
  1. package com.xiaozhi.controller;

  2. import java.io.IOException;
  3. import java.io.PrintWriter;

  4. import javax.servlet.ServletException;
  5. import javax.servlet.http.HttpServlet;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;

  8. public class ServletDemo2 extends HttpServlet
  9. {
  10.         @Override
  11.         protected void doGet(HttpServletRequest request, HttpServletResponse response)
  12.                         throws ServletException, IOException
  13.         {
  14.                 response.getWriter().write("中国");
  15.         }
  16.         
  17.         protected void doPost(HttpServletRequest request, HttpServletResponse response)
  18.                         throws ServletException, IOException
  19.         {
  20.                 String name=request.getParameter("username");  
  21.                 System.out.println(name);  
  22.         }
  23. }
复制代码

运行结果还是有乱码,问题何在???



3 个回复

倒序浏览
你可以设置一下response的编码
回复 使用道具 举报
默认是doPost()中调用doGet().然后在doGet中使用request和response设置编码平台
回复 使用道具 举报
菜小徐 发表于 2014-4-29 16:32
你可以设置一下response的编码

谢谢你的回答,但是我想修改一下服务器的编码,试试不修改response,request的编码,就能正常显示,没有乱码。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马