页面编码为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%的人还看了以下文章

  • 0基础学CSS

    本CSS教程能够让你在数小时内入门CSS,要求你有基本的HTML经验。

    2020年2月22日
    10.1K0
  • div+css制作上中下,中间两列的全屏自适应布局

    制作自适应布局的网页对初学者是个难点,今天我们以最常见的上中下结构,中间又分为两列的全屏自适应布局为例,教大家如何制作自适应布局网页。 上中下结构,中间又分为两列的全屏自适应布局HTML代码: <div class=”g-hd”></div> <div class=”g-sd”></div> <div c…

    2018年8月2日
    8.6K0
  • js实现进度拖拽的效果-调节音量

    用js实现的一个进度拖拽效果,常用于调节音量。 该程序代码简单易懂,单页面可多次调用,效果如下图: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js实现进度拖拽的|www.125jz.com效果</…

    2019年2月15日
    9.1K0
  • css布局基础:行内元素、块级元素练习

    主要知识点: 1、理解什么是行内元素?什么是块级元素? 2、知道块级元素能够设置宽高,行内元素不可设置宽高(替换元素可以)。 3、掌握display属性的使用。 4、掌握css伪类选择器的使用。 扩展: 1、nth-child()选择器 选择其父元素的第n个子元素。 效果图: 参考: <nav> <ul> <li><…

    2020年4月4日
    16.4K0
  • 第4课:制作自己的第一个网站

    学完前几节课,现在只需再花几分钟时间,你就能学会如何制作自己的第一个网站了。 如何做呢? 通过第一课,我们知道制作一个网页需要有浏览器和记事本程序(或者类似的文本编辑器)。请打开记事本程序(Notepad):依次选择“开始菜单→程序→附件→记事本”即可。 然后呢? 我们先从简单的做起吧。先试着做一个显示如下内容的网页:“哇!这是我的第一个网站。 ”继续学习,…

    2018年1月20日
    5.5K0
  • CSS图形绘制练习-最常见的40种形状和图形源码分享

    CSS图形绘制练习-最常见的40种形状和图形源码分享CSS图形绘制练习-最常见的40种形状和图形源码分享CSS图形绘制练习-最常见的40种形状和图形源码分享CSS图形绘制练习-最常见的40种形状和图形源码分享

     CSS3可以实现很多漂亮的图形,本文从互联网收集了最常见的40种形状和图形,现分享给大家。 包括圆形,椭圆形,三角形,倒三角形,左三角形,右三角形,菱形,梯形,长方形,正方形,圆环,平行四边形,五角星,六角星,五边形,六边形,八边形,心形,蛋形,无穷符号,消息提示框,钻石,八卦图,食豆人,扇形,月牙,顶左直角三角形,顶右直角三角形 ,底左直角三角形 ,底右…

    2020年2月22日 网页制作
    18.3K0

发表回复

登录后才能评论