页面编码为UTF-8的项目中servlet中文显示乱码的解决方法

servlet中文显示乱码:
1、servlet中输出中文字符
2、servlet接收表单传值并显示,表单字段含中文。

servlet中文显示乱码:

第一种情况:servlet中输出中文字符,如:

public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/html");
  PrintWriter out = response.getWriter();
  out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
  out.println("<HTML>");
  out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
  out.println("  <BODY>");
  out.print(" 中国网页设计http://www.125jz.com-最权威的网页设计教程站 ");
  out.println("  </BODY>");
  out.println("</HTML>");
  out.flush();
  out.close();
 }

运行显示:??????http://www.125jz.com-???????????

解决方法:
把response.setContentType(“text/html”);改为response.setContentType(“text/html;charset=UTF-8”);

第二种情况:servlet接收表单传值并显示,表单字段含中文。

如:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

 response.setContentType(“text/html;charset=UTF-8”);
request.setCharacterEncoding(“UTF-8”);

PrintWriter out = response.getWriter();
out.println(“<!DOCTYPE HTML PUBLIC \”-//W3C//DTD HTML 4.01 Transitional//EN\”>”);
out.println(“<HTML>”);
out.println(”  <HEAD><TITLE>A Servlet</TITLE></HEAD>”);
out.println(”  <BODY>”);
String name=request.getParameter(“name”);//接收表单传递的参数值,含中文。
out.println(“hello “+name);
out.println(”  </BODY>”);
out.println(“</HTML>”);
out.flush();
out.close();
}

解决方法:在servlet程序中加上以下代码就可以了:
response.setContentType(“text/html;charset=UTF-8”);
request.setCharacterEncoding(“UTF-8”);

如果页面编码是gb2312只需将以上代码中的UTF-8换成gb2312即可。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/5111.html

(0)
江山如画的头像江山如画管理团队
MVC详解:模型(Model)-视图(View)-控制器(Controller)
上一篇 2020年2月23日 上午11:32
myeclipse注册方法(在哪输入注册码?)
下一篇 2020年2月23日 上午11:50

99%的人还看了以下文章

  • H5不支持frameset的三种解决方案:div+iframe、include、jQuery的onload方法加载页面

    frameset标签定义框架集,它用于组织多个窗口(框架)。每个框架存在一个独立的文档。 <frameset id=”frame” frameborder=”0″ framespacing=”0″ rows=”100,*” border=”false” scrolling=”yes”> <frame name=”topframe” scro…

    2020年1月1日
    14.1K0
  • 如何单独设置打印网页的样式

    做项目,有些网页需要打印,很多时候,是导出WORD或EXCEL再打印。 现在需要页面直接打印,方便没有安装OFFICE的用户。 需求:页面在浏览器中浏览是一种样式,要打印这个页面,是另一种样式。 解决方法:用link标签中的media属性解决此问题。 <link href=”stylesheets/print.css” media=”print” re…

    2019年2月15日
    3.8K0
  • 第10课:表格

    表格用来显示那些逻辑上以行和列显示的信息。 表格难学吗? 对于初学者来说,在HTML中创建表格似乎比较复杂,不过只要耐心细致地观察,你就会发现表格实际上与其它HTML元素相似,也具有严格的逻辑结构。 例1: <table> <tr><td>单元格1</td><td>单元格2</td>&l…

    2018年1月19日
    7.0K0
  • 跟永哥学HTML5(1):认识html5

    HTML5(简称H5),是超文本标记语言(HTML)的第五次重大修改,是最新一代的超文本标记语言,它不单单是一种标记语言,更为下一代 Web 提供了全新功能 。

    2018年1月21日
    2.8K0
  • Zoho Docs-在网页中嵌入PPT的最佳方案(个人版5G免费)

    Zoho Docs-在网页中嵌入PPT的最佳方案(个人版5G免费)Zoho Docs-在网页中嵌入PPT的最佳方案(个人版5G免费)Zoho Docs-在网页中嵌入PPT的最佳方案(个人版5G免费)Zoho Docs-在网页中嵌入PPT的最佳方案(个人版5G免费)

    Zoho WorkDrive – 全面的在线共享文档工具 在125建站网上想嵌入PPT,分享给大家 ,并且可以播放。 我思考了三种方法: 是在Zoho Docs上操作; 是PPT以图片的形式保存(动画效果没有了),直接轮播; 是自己手写动画+轮播,达到PPT播放效果(用express.js来实现)比较复杂,并且对小白站长不适用。 很自信的要自己手…

    2023年1月16日 网页制作
    2.0K0
  • jquery全选和反选功能代码,兼容所有浏览器

    <!doctype html> <html> <head> <meta charset=”utf-8″> <title>jquery全选和反选功能代码,兼容所有浏览器|www.125jz.com</title> <script type=”text/javascript” src=…

    2019年11月1日
    5.5K0

发表回复

登录后才能评论