Servlet要正确显示中文信息,该如何做?

2013-10-04 01:43:17
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

request.setCharacterEncoding("utf-8");

String title = request.getParameter("title");
String timelength = request.getParameter("timelength");

System.out.println("视频名称:" +title);
System.out.println("视频时长: "+timelength);
response.getWriter().write(title);

}


这样,我在浏览器输入:
http://localhost:8080/weba/newsmanager?title=%B5%C4%B5%C4%B5%C4&timelength=121
(这里有例外一个问题,我输入的中文,结果被转换成了这么一串字母。这是为何呢,我使用的是火狐浏览器)
但是控制台打印出的信息,浏览器界面显示的信息,都是乱码。
我已经将浏览器的编码设置成了utf-8。


...全文
101 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
末日哥 2013-10-04
  • 打赏
  • 举报
回复
来个3连好吧
末日哥 2013-10-04
  • 打赏
  • 举报
回复
get请求乱码,好像还可以改server.xml的URIecoding,你自己试试。 %B5%C4%B5%C4%B5%C4这串东西叫URL编码,自己搜索学习一下
末日哥 2013-10-04
  • 打赏
  • 举报
回复
控制台:
System.out.println("视频名称:" +new String(title.getBytes("iso-8859-1"),"utf-8"));
浏览器端编码设成utf-8

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧