javaEE jsp 中文乱码问题

如果使用Tomcat服务器,在提交过程中,经常会出现中文乱码问题。乱码问题分为两个方面:

1.中文无法显示

有些JSP中,中文根本无法显示。通常的原因是没有把文件头的字符集设置为中文字符集。一定要保证文件头上写明:

<%@ page language="java" contentType="text/html;charset=gb2312"%>
或者
<%@ page language="java" pageEncoding="gb2312"%>

2.提交过程中显示乱码

前台提交给服务器时,服务器将其认为ISO-8859-1编码,而网页显示的是GB2312编码,不能兼容。有三种方法解决这个问题:

(1)将其转成GB2312格式。方法如下:

...
<%
	String username = request.getParameter("username");
	username = new String(username.getBytes("ISO-8859-1"),"gb2312");
	...
%>
...

但是此种方式必须对每一个字符串进行转码,很麻烦。

(2)直接修改request的编码

可以将request的编码修改为支持中文的编码,这样,整个页面中的请求,都可以自动转为中文。方法如下:

...
<%
	request.setCharacterEncoding("gb2312");
	String username = request.getParameter("username");
%>
...

一定要注意,该方法要在取出值之前就设置request的编码,并且表单的提交方式应该是post。但是,此种方式必须对每个页面中进行request的设置,也很麻烦。

(3)利用过滤器

利用过滤器,可以对整个web应用进行统一的编码过滤,比较方便。

javaEE jsp 中文乱码问题

时间: 2024-10-25 02:34:33

javaEE jsp 中文乱码问题的相关文章

JSP学习笔记(三):解决JSP中文乱码问题

JSP开发应用过程中中文乱码是个比较常见的问题,其根源是:Web容器默认的字符编码格式是ISO-8859-1. 一.ISO-8859-1是不支持中文的.假如在保存JSP页面源码时遇到该错误,只要把JSP命令标签中的键值对"pageEncoding"的值ISO-8859-1改成"utf-8"(或UTF-8),当然是建议改成这样的编码格式,也可以改成GBK.这样就可以顺利保存源代码了. 二.get和post提交表单时遇到中文乱码问题的解决方案: (1)post提交:po

JSP中文乱码问题解决方案

1.项目工程编码统一采用UTF-8编码 2.JSP页面采用UTF-8编码 <%@ page language="java" import="java.util.*,entity.Student" pageEncoding="UTF-8"%> 3.设置request内置对象采用utf-8编码,防止表单提交产生信息乱码(POST方式提交) request.setCharacterEncoding("utf-8"); 4

解决JSP中文乱码问题

大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着大家,现把JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考.首先了解一下Java中文问题的由来: Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦.原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题.首先Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保存方式是基于字节流

JSP中文乱码问题终极解决方案(下)

摘要: 本文首先从四个方面给出了在使用JSP过程中可能出现中文乱码的情形,具体包括JSP页面中文乱码.JSP源文件中文乱码.GET 请求的请求参数为中文乱码 和 POST 请求的请求参数为中文乱码四种情形,并针对每种情形给出了相应的终极解决方案. 一. JSP页面与JSP源文件乱码 在介绍JSP页面与JSP源文件的乱码问题前,首先我们必须对JSP页面中文乱码问题与JSP源文件中文乱码问题有一个清晰的概念,即: JSP页面中文乱码问题是指用户在浏览器看到的服务器所返回的jsp页面中,中文字符不能正

JSP中文乱码问题终极解决方案

在介绍方法之前我们首先应该清楚具体的问题有哪些,笔者在本博客当中论述的JSP中文乱码问题有如下几个方面:页面乱码.参数乱码.表单乱码.源文件乱码.下面来逐一解决其中的乱码问题. 一.JSP页面中文乱码 在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码. 先看一个JSP程序: [java] view plaincopyprint? <%@ page language="java" import="java.util.

jsp中文乱码解决办法

一.JSP页面显示乱码 二.表单提交中文时出现乱码 三.数据库连接 大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着您,我现在把我在JSP开发中遇到 的中文乱码的问题及解决办法写出来供大家参考. 一.JSP页面显示乱码下面的显示页面(display.jsp)就出现乱码: <html>< head>< title>JSP的中文处理</title> < meta http-equiv="Content-Type" con

【转】JSP中文乱码问题终极解决方案

文章转自:http://blog.csdn.net/beijiguangyong/article/details/7414247 在介绍方法之前我们首先应该清楚具体的问题有哪些,笔者在本博客当中论述的JSP中文乱码问题有如下几个方面:页面乱码.参数乱码.表单乱码.源文件乱码.下面来逐一解决其中的乱码问题. 一.JSP页面中文乱码 在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码. 先看一个JSP程序: <%@ page language=&qu

如何配置Filter过滤器处理JSP中文乱码

参考Tomcat服务器目录webapps的examples示例 简单配置步骤:1.在项目web.xml文件添加过滤器标记<filter>和<filter-mapping>:2.实现过滤器代码:3.对Tomcat服务器conf目录里的Server.xml文件配置URIEncoding:4.前台页面设置contentType的charset值与web.xml里设置的值一致. 详细配置步骤:1.配置web.xm文件,在web-app标签内添加过滤器的配置<filter>和&l

jsp中文乱码问题

1.在jsp页面上输入中文,请求页面不出现乱码 ①保证ContentType="text/html;charset=utf-8" 与 pageEncoding="utf-8"一致 ②保证浏览器显示的字符编码也和请求的jsp页面的编码一致 2.获取中文的参数值(默认参数在传输过程中使用的编码为ISO-8859-1) ①对于post请求:只要在获取请求之前调用request.setCharacterEncoding("utf-8")就可以 ②对于ge