解决JSP中文乱码问题

 1、我们要保证JSP向客户端输出时是采用中文编码方式输出的,即无论如何我们首先在我们的JSP源代编中加入以下一行:

  <%@page contentType="text/html;charset=gb2312"%>

2、为了让JSP能正确获得传入的参数,我们在JSP源文件头加入下面一句:

  <%request.setCharacterEncoding("GB2312″);%>

 3、为了让JSP编译器能正确地解码我们的含有中文字符的JSP文件,我们需要在JSP源文件中指定我们的JSP源文件的编码格式,具体来说,

我们在JSP源文件头上加入下面的一句即可:

  <%@page pageEncoding="GB2312″%>或<%@page pageEncoding="GBK"%>

综上,JSP文件开头应该进行如下配置。

<%@page contentType="text/html;charset=gb2312" pageEncoding ="GB2312"%>
<%request.setCharacterEncoding("GB2312");%>

4、Form中的乱码问题

将Form中的中文值传入数据库再取出来后经常会全部变成问号。除了在头部定义上面那些代码之外还需要定义一个专门解决这类问题的getStr类。

代码如下:

public String getStr(String str){
 try{String temp_p=str;
   byte[] temp_t=temp_p.getBytes("GB2312");
   String temp=new String(temp_t);
   return temp;
 }
catch(Exception e){}
return "NULL";
}

然后对接收到的参数进行如下转换:

String keyword1=request.getParameter("keyword1");
keyword1=getStr(keyword1);

这样问题就解决了。

时间: 2024-07-31 12:05:26

解决JSP中文乱码问题的相关文章

用servlet过滤器解决JSP中文乱码问题

---servlet 文件 package com.encoding; import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; pub

用过滤器来解决JSP中文乱码问题

首先写一个过滤器的类,如下: 1 package com.util; 2 3 import java.io.IOException; 4 import java.io.UnsupportedEncodingException; 5 6 import javax.servlet.Filter; 7 import javax.servlet.FilterChain; 8 import javax.servlet.FilterConfig; 9 import javax.servlet.Servlet

JSP中文乱码常见3个例子及其解决方法_JSP编程

常见3个例子及其解决方法如下 实例一.JSP页面显示时 <html> <head> <title>中文乱码--JSP页面显示时</title> </head> <body> <center> <br/> <h1>木兰辞拟古决绝词柬友</h1> <p>人生若只如初见,何事秋风悲画扇.</p> <p>等闲变却故人心,却道故人心易变.</p> &

jsp中文乱码 jsp mysql 乱码的解决方法_JSP编程

jsp中文乱码 jsp mysql 乱码要servlet里面支持中文的方法: 在dopost或者doget的第一句加上: request.setCharacterEncoding("GB2312"); response.setCharacterEncoding("GB2312"); jsp乱码问题在jsp里面就把 <%@ page contentType="text/html; charset=gb2312" language="

完美解决mysql中文乱码的问题

mysql|sql|解决|问题|中文乱码 *MySQL(和PHP搭配之最佳组合)中文乱码的原因 MySQL(和PHP搭配之最佳组合)会出现中文乱码的原因不外乎下列几点: -MySQL(和PHP搭配之最佳组合) server本身设定问题,例如还停留在latin1 -MySQL(和PHP搭配之最佳组合) table的语系设定问题(包含character与collation) -客户端程式(例如php)的连线语系设定问题 在之前的两篇文章中已介绍过如何设定MySQL(和PHP搭配之最佳组合) serv

JSP中文乱码问题

之前总是碰到JSP页面乱码的问题,每次都是现在网上搜,然后胡乱改,改完也不明白原因. 这次正好作下总结,中文乱码就是因为编码不符,可能出现乱码有四个地方: 1 JSP编码乱码 2 HTML编码乱码 3 request获取数据乱码 4 response输出信息乱码 5 Cookie导致的编码问题 下面将会对上面几种情况进行介绍: JSP乱码 这种是最常见的,设置编码的位置位于JSP的第一行,如果在Eclipse中新建一个JSP默认是下面这种: <%@ page language="java&

zip压缩解决文件名中文乱码问题

使用jdk自带的zip工具类Java.util.zip.ZipEntry,java.util.zip.ZipFile,java.util.zip.ZipInputStream,java.util.zip.ZipOutputStream 进行zip压缩时,没法解决文件名中文乱码问题 这里使用apache 旗下的commons-compress 库,官网是:http://commons.apache.org/proper/commons-compress/download_compress.cgi

解决JSP中文显示问题的几个方法

js|解决|问题|显示|中文 解决JSP中文显示问题的几个方法 总结了以下几条方法: 1.在jsp页中加入一条语句: <%@ page contentType="text/html;charset=gb2312" %>中文显示就正常了. 2.对于从网页中的文本框通过String parameter = request.getParameter("parameter");方式获得的字符串,均是8859_1的编码,如果想把它显示在网页上就必须得用parame

escape解决AJAX中文乱码的简单方法

在使用AJAX开发网站时,经常有朋友遇到乱码的问题,而且一下子难以找到解决方法.其实解决AJAX中文乱码问题很简单. 1.服务端程序: <% liststr="AJAX中文乱码的简单解决方法" sponse.write escape(liststr) '用escape编码 %> 2.客户端JAVASCRIPT程序 function toserver(url) { var req = new XMLHttpRequest(); if (req) { req.onreadyst