黑马程序员_解决Servlet中文乱码
来源:互联网 发布:影视美术设计考研知乎 编辑:程序博客网 时间:2024/06/10 07:20
------- android培训、java培训、期待与您交流! ----------
默认情况下Servlet向浏览器发送的编码为西欧语言ISO-8859-1,不包含中文,所以如果服务器端向浏览器发送的内容中包含中文就会显示为“?”乱码,解决方法有很多,如下:
各种编码一览
A. JSP/Servlet都有的编码设置
1. request.setCharacterEncoding("UTF-8")
2. response.setCharacterEncoding("UTF-8")
3. response.setContentType("text/html; charset=UTF-8");
4. response.setHeader("Content-Type", "text/html; charset=UTF-8");
B. JSP专有的编码设置
1. <%@ page pageEncoding="UTF-8" %>
2. <%@ page contentType="text/html; charset=UTF-8" %>
C. HTML页面中的编码设置
1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
但是要注意的是response.setContentType("text/html;charset=gbk");设置编码的语句必须放在PrintWriter out = response.getWriter();语句前面,否则还是起不到设置编码的效果。示例:
import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 处理get post的多种简单实用的方法 */public class HelloWorldServlet extends HttpServlet {@Override//重写service方法不用单独调用get post等方法来处理浏览器发来的请求了protected void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=gbk");PrintWriter out = response.getWriter();out.println("<html><head></head><body><center><font color='red'>中文HelloWorldServlet!</font></center></body></html>");out.flush();out.close();}/*@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {//这样写的好处是减少了代码量,使代码更容易被维护,代码只需修改一处doGet(req, resp);}@Override//只需要在get post等任意一个方法中写处理客户端请求的方法,其它地方直接调用就可以protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {PrintWriter out = response.getWriter();out.println("<html><head></head><body><center><font color='red'>HelloWorldServlet!</font></center></body></html>");out.flush();out.close();}*/private static final long serialVersionUID = 1L;}
参考资料
http://blog.csdn.net/superbeck/archive/2010/03/05/5347815.aspx
http://blog.csdn.net/yjg428/article/details/5635661
- 黑马程序员_解决Servlet中文乱码
- 黑马程序员_解决读取web.xml中文字符乱码问题
- Servlet 中文乱码解决
- Servlet 中文乱码解决
- Servlet 中文乱码解决
- Servlet 中文乱码解决
- Servlet 中文乱码解决
- Servlet 中文乱码解决
- Servlet中文乱码解决
- Servlet解决中文乱码
- Servlet中文乱码解决
- servlet解决中文乱码
- Servlet中文乱码解决 .
- servlet 解决中文乱码
- 解决Servlet中文乱码
- servlet中文乱码解决
- 黑马程序员_乱码问题
- Servlet解决中文乱码问题
- Android4.2中全屏或者取消标题栏
- 状态栏通知Notification、NotificationManager详解
- 设计模式之原则
- C++制作动态链接库dll
- 如何向内核中添加源码
- 黑马程序员_解决Servlet中文乱码
- Apache Ant运行时Unable to locate tools.jar解决方法
- Linux进程状态(ps aux)
- 怎么样的爱情,才经得起时间的考验?
- 关联规则R语言实现
- 穿短裙露事业线是种能力
- 全景显示图片功能的源码及相关说明
- POJ1321:棋盘问题
- 《怪诞行为学2》读书笔记,第一章 金钱的诱惑:为什么巨额奖金带不来高业绩?