1、Jsp文件页面显示乱码,这种情况比较好处理,在页面的Page指令加上如下一项就OK了:
<%@ page contentType="text/html; charset=gb2312"%>
或者<%@ page language="java" pageEncoding="gb2312" %>
这里可以用gb2312或者gbk,只是gbk比gb2312支持跟多的字符。
2、Jsp页面采用表单提交时,提交的数据中含有中文,这时我们获取表单数据后,展示到其它页面时也会出现乱码,解决方案是在提交处理的Servlet里接收数据时,先加上如下一行代码:
request.setCharacterEncoding("gb2312");
这是其中的一种做法,当页面较少时还好,如果页面较多,我每添加新的页面就要加上这句话,所以可以采用过滤器来解决,具体解决步骤如下:
首先写一个过滤器类,代码如下:
package demo;
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;
public class SetCharacterEncodingFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)throws IOException, ServletException {
request.setCharacterEncoding("gbk");
// 传递控制到下一个过滤器
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
}
}
然后在web.xml文件中添加如下代码:
<filter>
<!--为过滤器起个名字-->
<filter-name>Set Character Encoding</filter-name>
<!--过滤器类的包名.类名-->
<filter-class>demo.SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<!--匹配所有的请求-->
<url-pattern>/*</url-pattern>
</filter-mapping>
这样所有的请求都将交由这个过滤器处理一下,这样无论我们添加多少个页面都可以放心了,不用总考虑要加那么一句代码了。
3、在存取数据库时发生乱码现象,这种现象比较郁闷,处理起来相对复杂一点。
首先要在数据存入数据库时,进行如下编码的转换:如我们要把含有中文的字符串存入数据库,首先:
String s=request.getParameter("author");
String author=new String(s.getBytes("ISO8859_1"),"gb2312");
在从数据库取出展示到页面时,也要经过如下转换:
String s=rs.getString("author");
Stringauthor=new String(s.getBytes("GB2312"),"ISO8859_1");
4、修改tomcat的server.xml文件中URIEncoding。
<Connector debug="0" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"
port="80" redirectPort="8443" enableLookups="false" minSpareThreads="25" maxSpareThreads="75"
maxThreads="150" maxPostSize="0" URIEncoding="GBK" >
</Connector>
这个方法主要针对从url中获取字符串的问题。
在tomcat5.0及以上版本,post和get方法在处理编码时有所不同。如果你在url中获取中文就会出现?号。但在tomcat4.1版本没有问题,因为tomcat4.1的post和get方法在处理编码时是一样的。
分享到:
相关推荐
### jsp表单验证汇总知识点解析 #### 一、JS验证Radio按钮是否被选择 **功能描述:** 此段代码用于验证HTML表单中的至少一个`<input type="radio">`选项是否已被选中。若没有选项被选中,则会弹出警告提示“请选择...
### Java与JSP文件乱码问题综合解析 在软件开发过程中,尤其是涉及到国际化或中文处理时,文件编码问题常导致“乱码”现象,严重影响了程序的正常运行和用户体验。本文将深入探讨Java与JSP文件乱码的问题,提供一...
- 这部分讨论了如何处理JSP/Servlet中的汉字编码问题。 ##### 4.7 图解Eclipse+Tomcat集成开发Servlet - 这部分通过图解的方式介绍了如何在Eclipse IDE中配置Tomcat服务器来开发Servlet。 ##### 4.8 Servlets/JSP...
6. **问题解决**:讨论了中文乱码问题和其他常见问题,这些问题在开发过程中可能会遇到,需要针对性地解决。 7. **总结**:论文最后总结了已经实现的功能,如系统的核心操作,同时也列出了待完善的部分,如可能存在...
《struts框架的验证例子》和《struts2中中文乱码处理》提供了如何使用Struts进行表单验证和解决中文乱码问题的具体实践。 - **Hibernate**:Hibernate是一个强大的对象关系映射(ORM)工具,简化了Java应用程序与...
其中,中文乱码问题是一个常见的挑战。开发者需要通过合理的编码设置来解决这一问题,以保证数据的准确性和一致性。其他问题可能涉及到数据同步、性能优化等方面,这些都是需要开发者认真对待并解决的问题。 目前,...
JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 [1] 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
request获取中文参数时可能出现乱码问题,需设置正确的编码。 8. **请求(request)生命周期与作用范围** - 请求开始到响应返回,只在当前请求范围内有效,服务器跳转也视为一次新的请求。 9. **响应对象...
外文翻译可能是对相关领域的国外研究进行的中文解读,帮助开发者了解国际上的最新技术和趋势。文献综述则汇总了关于电子投票系统的相关研究,为项目提供了理论支持。 总的来说,《JSP企业电子投票系统》的实现涉及...
这份压缩包中主要包括了三个关键文件:`Jsp帮助文档.chm`、`Jsp精华文章.chm`以及`JAVA中文_API.CHM`,这些都是Java开发者在学习和工作中不可或缺的工具。 `Jsp帮助文档.chm`是关于JavaServer Pages(JSP)的技术...
对于JSP和JDBC的MySQL乱码问题,JSP的默认请求编码是ISO8859_1,处理中文时需要将其转换为GBK。示例代码如下: ```java String str = new String(request.getParameter("name").getBytes("ISO8859-1"), "GBK"); out...
本文将对答辩常见问题进行总结,涵盖数据库连接、系统测试、前端技术、Web应用配置、编程语言、架构设计、开发工具等多个方面,旨在帮助理解这些关键概念。 1. 数据库连接:通常通过JDBC_ODBC桥接器来连接数据库。...
CSS2.0中文手册.chm EJB.chm Hibernate_3.2.0_Reference_zh_CN.chm html语法教程.chm J2EE 1.3.1 API.chm J2EE_6.0_API.chm Javascript10.chm JAVA中文_API.CHM JDK_API_1_6_zh_CN.CHM.lnk Jsp帮助文档.chm Jsp精华...
GBK和GB2312都是针对中文的编码,但GBK的字符集比GB2312大,包含了更多的汉字和符号。因此,误用GB2312编码可能会导致部分字符无法正确显示。 使用Cookie传递数据虽然方便,但也存在一些问题。一是Cookie的大小有限...
2009-03-20 16:37 254350 86752 常见的专业问题解决办法\解决Struts中ApplicationResources_properties文件不支持中文问题_微科工作室 QQ:28790953____.mht 2009-02-25 08:45 文件夹 文件夹 常见的专业问题解决办法...
教师业绩管理系统将改变以往个人填报和单位审核的流程关系,由系统生成教师的真实工作业绩,学年末只需做简单的统计汇总,所需报表系统就会生成。教师业绩管理系统的基本功能:用户注册管理、 业绩项目管理、 指标...
因此,针对JFreeChart中的中文乱码问题,本文将汇总并整理一系列有效的解决方案。 #### JFreeChart简介 JFreeChart是一款开源Java图表库,它提供了丰富的API来创建高质量的图表。JFreeChart支持多种类型的图表,...
当使用Ajax发送请求时,JavaScript默认使用ISO-8859-1编码,因此需要对包含中文的参数进行编码。一种常见做法是在发送请求前使用`encodeURI()`或`encodeURIComponent()`方法对参数进行编码,例如`var url = ...
在配置 Tomcat 时,我们需要修改 server.xml 文件,添加 URIEncoding="UTF-8" 配置,以便解决中文乱码问题。同时,我们还需要添加一个 init 参数,用于指定文件编码。 5. 启动服务 启动服务时,我们需要先启动 ...