解决JSP中文字符乱码问题
作者:bea
在使用JSP的过程中,最使人头疼的一个问题就是中文乱码问题。 JSP页面乱码,这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可 一下是二种解决JSP页面中文乱码问题的二种方案,共大家参考。 解决JSP页面中文乱码方案一: 这种方法是普遍适用的方法,加一个过滤器,之后就可以过上一劳永逸的日子了 package filters; import java.io.IOException; im
在使用JSP的过程中,最使人头疼的一个问题就是中文乱码问题。
JSP页面乱码,这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可
一下是二种解决JSP页面中文乱码问题的二种方案,共大家参考。
解决JSP页面中文乱码方案一:
这种方法是普遍适用的方法,加一个过滤器,之后就可以过上一劳永逸的日子了
package filters;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
public class TomcatFormFilter implements Filter {
/**
* Request.java
* 对 HttpServletRequestWrapper 进行扩充, 不影响原来的功能并能提供所
有的 HttpServletRequest
* 接口中的功能. 它可以统一的对 Tomcat 默认设置下的中文问题进行解决而只
需要用新的 Request 对象替换页面中的
* request 对象即可.
*/
class Request extends HttpServletRequestWrapper
{
public Request(HttpServletRequest request) {
super(request);
}
/**
* 转换由表单读取的数据的内码.
* 从 ISO 字符转到 GBK.
*/
public String toChi(String input) {
try {
byte[] bytes = input.getBytes("ISO8859-1");
return new String(bytes, "GBK");
}
catch (Exception ex) {
}
return null;
}
/**
* Return the HttpServletRequest holded by this object.
*/
private HttpServletRequest getHttpServletRequest()
{
return (HttpServletRequest)super.getRequest();
}
/**
* 读取参数 -- 修正了中文问题.
*/
public String getParameter(String name)
{
return
toChi(getHttpServletRequest().getParameter(name));
}
/**
* 读取参数列表 - 修正了中文问题.
*/
public String[] getParameterValues(String name)
{
String values[] =
getHttpServletRequest().getParameterValues(name);
if (values != null) {
for (int i = 0; i
解决JSP页面中文乱码方案二:
为程序编写一个字符串处理函数,用一个静态文件保存,在需要处理中文字符的JSP页面中包含它
要转换时只需:coedeToString(request.getParameter(..));就可以了,很好用的。 有用 | 无用
JSP页面乱码,这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在页面开始地方用下面代码指定字符集编码即可
一下是二种解决JSP页面中文乱码问题的二种方案,共大家参考。
解决JSP页面中文乱码方案一:
这种方法是普遍适用的方法,加一个过滤器,之后就可以过上一劳永逸的日子了
package filters;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
public class TomcatFormFilter implements Filter {
/**
* Request.java
* 对 HttpServletRequestWrapper 进行扩充, 不影响原来的功能并能提供所
有的 HttpServletRequest
* 接口中的功能. 它可以统一的对 Tomcat 默认设置下的中文问题进行解决而只
需要用新的 Request 对象替换页面中的
* request 对象即可.
*/
class Request extends HttpServletRequestWrapper
{
public Request(HttpServletRequest request) {
super(request);
}
/**
* 转换由表单读取的数据的内码.
* 从 ISO 字符转到 GBK.
*/
public String toChi(String input) {
try {
byte[] bytes = input.getBytes("ISO8859-1");
return new String(bytes, "GBK");
}
catch (Exception ex) {
}
return null;
}
/**
* Return the HttpServletRequest holded by this object.
*/
private HttpServletRequest getHttpServletRequest()
{
return (HttpServletRequest)super.getRequest();
}
/**
* 读取参数 -- 修正了中文问题.
*/
public String getParameter(String name)
{
return
toChi(getHttpServletRequest().getParameter(name));
}
/**
* 读取参数列表 - 修正了中文问题.
*/
public String[] getParameterValues(String name)
{
String values[] =
getHttpServletRequest().getParameterValues(name);
if (values != null) {
for (int i = 0; i
解决JSP页面中文乱码方案二:
为程序编写一个字符串处理函数,用一个静态文件保存,在需要处理中文字符的JSP页面中包含它
要转换时只需:coedeToString(request.getParameter(..));就可以了,很好用的。 有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 详解Linux系统下搭配Java开发环境
- Linux环境下三方法配置Java开发环境
- Java开发环境:选择Linux还是windows
- Java Applet编程实例讲解
- Java Applet实现图片动画编程
- Java编程技巧之Applet编程实例
- Java学习之学习Socket编程
- 总结Java与C语言的不同点
- 使用Java读取XML文件中的内容
- Java解析XML文档节点值代码
- 四种办法使用Java解析XML文件
- Java web开发字符编码总结
- Java web怎样实现异步编程
- 如何调度Java web开发中的任务
- Java实现文件的删除、拷贝和递归
- J2ME应用程序开发注意事项
- 如何用Java操作Excel并给jxl加边框
- 总结Java程序运行时常见的异常
- 说说Java.util包中提供的各个类