Servlet中的乱码问题

form表单中的属性:

accept-charset 属性允许您指定一系列字符集,服务器必须支持这些字符集,从而得以正确解释表单中的数据。

form数据的编码是由如果是html文件则由<meta http-equiv="Content-Type" content="text/html;charset=utf-8">决定

如果是jsp文件则由<%@page contentType="text/html;charset=utf-8" language="java">决定的。

tomcat中是用utf-8解码的。jetty-maven-plugin也是。因此,html或jsp文件最好注明charset=utf-8。

这样的话,容器就不会解码错误。

还需注意的是,response.getWriter()返回的编码是不清楚的(本人问题),因此,在response中最好用

PrintStream out = new PrintStream(response.getOutputStream(), true, "UTF-8");

并且设置ContentType

response.setContentType("text/html;charset=utf-8");

以此减少乱码问题。



原文地址:https://www.cnblogs.com/yvkm/p/10543338.html

时间: 2024-11-09 00:52:41

Servlet中的乱码问题的相关文章

servlet中中文乱码问题

在web项目中经常回碰到中文乱码的问题,特此整理一下,有不足的地方,希望大家纠正. 1从前台往后台传数据,.以get方式发送请求,发送的参数不乱,但是后台接收到参数乱码 在Tomcat的server.xml文件中设置URIEncoding属性值为UTF-8%CATALINA_HOME%\conf\server.xml <Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000

处理servlet中中文乱码问题

平时coding时,经常遇到一些乱码问题,现在总结一下在使用Servlet时遇到的一些乱码问题,简单的解决办法两种 第一种简单处理方式 在servlet中数据的处理是通过request和response进行处理的,提交数据有两种方式:post+get ①post提交方式--只要事先设置request.setCharacterEncoding("UTF-8");-------注:只对POS提交有效 ②get提交方式--通过ISO8859-1得到客户端发送的数据,再转成UTF-8类型.(或

Servlet中的乱码问题及解决办法

假设现在有个form表单,当页面中提交一个包含中文的请求时,在服务端有可能出现中文乱码问题. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action="registerServlet" metho

servlet中的中文乱码问题

老师总会说道:学完这个知识点,我们来谈谈中文乱码问题. 乱码的问题总是无处不在,处理不好会给用户带极差的用户体验. 那么我们来记录一下servlet中的乱码问题吧! 1.服务器向客户端响应时出现的乱码问题: response.setCharacterEncoding("UTF-8");  或者response.setContentType("text/html;charset=UTF-8"); 2.客户端向服务器提交数据时出现的乱码问题:1) Post方式提交数据设

[转]JSP或servlet中(以及上传下载文件)中文乱码或不显示的解决方案

时间 2014-04-14 14:33:44  CSDN博客 原文  http://blog.csdn.net/xby1993/article/details/23677375 主题 ServletJSP JSP或servlet中中文乱码的解决方案: 1.以POST请求方式: 在获取请求参数之前设置: request.setCharacterEncoding("utf-8"); 设置输出编码: response.setContentType("text/html;charse

Java Web(二) Servlet中response、request乱码问题解决

三月不减肥,五月徒伤悲,这就是我现在的状态,哈哈~ 健身.博客坚持. --WH 一.request请求参数出现的乱码问题 get请求: get请求的参数是在url后面提交过来的,也就是在请求行中, MyServlet是一个普通的Servlet,浏览器访问它时,使用get请求方式提交了一个name=小明的参数值,在doGet中获取该参数值,并且打印到控制台,发现出现乱码 出现乱码的原因: 前提知识:需要了解码表,编码,解码这三个名词的意思.我简单说一下常规的, 码表:是一种规则,用来让我们看得懂的

在Servlet中出现一个输出中文乱码的问题(已经解)。

在Servlet中出现一个输出中文乱码的问题,已经解. @Override public void doPost(HttpServletRequest reqeust, HttpServletResponse response) throws ServletException, IOException { //PrintWriter out = response.getWriter();在还没有给response指定编码格式时就获取了他的输出流,所以一直乱码 reqeust.setCharact

web开发(二) Servlet中response、request乱码问题解决

在网上看见一篇不错的文章,写的详细. 以下内容引用那篇博文.转载于<http://www.cnblogs.com/whgk/p/6412475.html>,在此仅供学习参考之用. 一.request请求参数出现的乱码问题 get请求: get请求的参数是在url后面提交过来的,也就是在请求行中, MyServlet是一个普通的Servlet,浏览器访问它时,使用get请求方式提交了一个name=小明的参数值,在doGet中获取该参数值,并且打印到控制台,发现出现乱码 出现乱码的原因: 前提知识

servlet中乱码解决

get方式 解决方式: 1. new String(string.getBytes("ISO-8859-1"),"UTF-8"); 分析:表单中文数据在页面以ISO编码后,通过Http协议传输,到达Servlet后,若以UTF-8解码,会出现乱码.所以需要先转成字节(ISO-8859-1解码,传过来的是以它编码的),再包装成字符串(UTF-8编码).Servlet中就可以显示了(UTF-8). 2. get方式就是在接收到字符串后进行转码处理 3. String n