jsp+servlet 中文乱码问题

一。

由于doget和dopost的处理方式不同,在做servlet的时候遇到这样一个问题:用doPost获得的参数只要加上“request.setCharacterEncoding("utf-8")”这样一行,则显示中文不会乱码,但是用doGet获得的参数加上“request.setCharacterEncoding("utf-8")”这一行后却依然乱码,解决方法如下:

1.这一个是一劳永逸的方法,从网上找到的
    在你的Tomcat服务器根目录下找到conf/server.xml文件,在文件中找到这样一行,将其中的URIEncoding=""双引号内改为utf-8,即红色字体处。
    如下:
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf-8"/>

2.下面这种方法是老师教的,比如:

String name=request.getParamter("name");

String  userName=new String(name.getBytes("iso-8859-1"),"utf-8");

这是利用字符串的转码功能强制转码。注:  .getBytes()如果是中文操作系统,默认是用gb2312编码。

二.

在使用输出到页面时要用如下方式:  response.setHeader("Content-Type","text/html;charset=utf-8");

时间: 2024-11-09 02:56:46

jsp+servlet 中文乱码问题的相关文章

JSP出现中文乱码问题

今天纠结了好半天,本地运行程序后没有中文乱码,唯独发到服务器后运行出现了乱码. 究其原因,皆因eclipse环境默认的JSP编码是Iso-8859-1,需要将其改为utf-8,与JSP文件中的编码声明一致即可.JS文件的编码也顺便改成了UTF-8格式. 如下图所示: 参考文档: http://yu.you163.blog.163.com/blog/static/339877742013720105154172/ JSP出现中文乱码问题,布布扣,bubuko.com

jsp传中文乱码问题 encodeURIComponent()编码方法

jQuery.ajax({            type:"POST",            url:"${ctx}/offer.do",            data:{                'method':'isNameExist',                'type':'area',                'id':id==""?null:id,                'name':encodeUR

[转]Servlet 中文乱码问题及解决方案剖析

一.常识了解 1.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.java.nio.charset.Charset.defaultCharset() 获得平台默认字符编码: 3.getBytes() 是通过平台默认字符集进行编码: 二.中文乱码出现 在学习任何一门技术时,经常会有初学者遇到中文乱码问题,比如MySQL,是因为在安装时没有设置:而在Servlet中,也会遇到中文乱码问题: 比如: OutputStream out = response.

jsp与servlet中文乱码问题(转)

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

Servlet中文乱码问题解决办法

首先对于源jsp网站和servlet里面的字符集要一样,一般支持中文的字符集为UTF-8最好采用这个字符集(除此之外还有gb2312); 对于源jsp文件的代码中需要设置 设置你的page里面的字符集 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 设置html文件里面的字符集 <meta http-eq

jsp之中文乱码问题

在eclipse里面我们的jsp页面如果我们写了中文,保存的时候会弹出一个框,让你选择保存方式,之所以这样是因为jsp默认的文件编码是ISO-8859-1字符集中无中文字符. 一个比较好的解决办法是在这个jsp页面的开头添加如下一句: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %> 就可以保存了,切在服务器运行了之后,再去页面浏览的时候也是正常

[原]过滤器解决Servlet中文乱码

一.问题描述:Servlet接收来自JSP页面的中文参数时,在Servlet文件中编写输出语句,控制台输出中文乱码. (乱码问题以前经常碰到,改编码格式相当麻烦) 利用过滤器解决方法可以一次性解决问题 1.过滤器在此方法的作用:每当程序要运行Servlet文件之前,都要去执行过滤器文件:在过滤器文件中编写要在Servlet文件之前运行的代码. 2.实现过程:分为两步(1.编写过滤器类.2.编写配置文件) 1.过滤器类 (1).在src文件下建个包 com.filter (2).在此包下新建类  

黑马day06 jsp之中文乱码&amp;原理&amp;解决方案

我们可以发现我们的工具eclipse或者myeclipse有很强的功能,我们很少见到jsp页面的乱码问题,这是为什么呢?这是因为eclipse很智能,会根据pageEncoding="UTF-8"这个page指令,保存的时候就会提前预知服务器要使用utf-8进行解码,因此保存的时候会根据pageEncoding="UTF-8"智能的为我们写的jsp保存为utf-8格式.但是当我们使用记事本或者其他文本工具进行开发,就会很容易造成乱码,这里我将详细的分析乱码的原因,以

Servlet 中文乱码问题及解决方案剖析

一.常识了解 1.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.java.nio.charset.Charset.defaultCharset() 获得平台默认字符编码: 3.getBytes() 是通过平台默认字符集进行编码: 二.中文乱码出现 在学习任何一门技术时,经常会有初学者遇到中文乱码问题,比如MySQL,是因为在安装时没有设置:而在Servlet中,也会遇到中文乱码问题: 比如: OutputStream out = response.