`
demojava
  • 浏览: 551316 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JSP中文问题汇总

阅读更多

1Jsp文件页面显示乱码,这种情况比较好处理,在页面的Page指令加上如下一项就OK:

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

或者%@ page language="java" pageEncoding="gb2312" %

这里可以用gb2312或者gbk,只是gbkgb2312支持跟多的字符。

2Jsp页面采用表单提交时,提交的数据中含有中文,这时我们获取表单数据后,展示到其它页面时也会出现乱码,解决方案是在提交处理的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修改tomcatserver.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及以上版本,postget方法在处理编码时有所不同。如果你在url中获取中文就会出现?号。但在tomcat4.1版本没有问题,因为tomcat4.1postget方法在处理编码时是一样的。

分享到:
评论

相关推荐

    jsp表单验证汇总

    ### jsp表单验证汇总知识点解析 #### 一、JS验证Radio按钮是否被选择 **功能描述:** 此段代码用于验证HTML表单中的至少一个`&lt;input type="radio"&gt;`选项是否已被选中。若没有选项被选中,则会弹出警告提示“请选择...

    java文件JSP文件乱码汇总

    ### Java与JSP文件乱码问题综合解析 在软件开发过程中,尤其是涉及到国际化或中文处理时,文件编码问题常导致“乱码”现象,严重影响了程序的正常运行和用户体验。本文将深入探讨Java与JSP文件乱码的问题,提供一...

    JSP 程序设计从入门到精通 PDF 教程

    - 这部分讨论了如何处理JSP/Servlet中的汉字编码问题。 ##### 4.7 图解Eclipse+Tomcat集成开发Servlet - 这部分通过图解的方式介绍了如何在Eclipse IDE中配置Tomcat服务器来开发Servlet。 ##### 4.8 Servlets/JSP...

    JSP库存管理毕业设计论文

    6. **问题解决**:讨论了中文乱码问题和其他常见问题,这些问题在开发过程中可能会遇到,需要针对性地解决。 7. **总结**:论文最后总结了已经实现的功能,如系统的核心操作,同时也列出了待完善的部分,如可能存在...

    JSP开发教程和源码收藏

    《struts框架的验证例子》和《struts2中中文乱码处理》提供了如何使用Struts进行表单验证和解决中文乱码问题的具体实践。 - **Hibernate**:Hibernate是一个强大的对象关系映射(ORM)工具,简化了Java应用程序与...

    JSP+MYSQL 库存管理系统

    其中,中文乱码问题是一个常见的挑战。开发者需要通过合理的编码设置来解决这一问题,以保证数据的准确性和一致性。其他问题可能涉及到数据同步、性能优化等方面,这些都是需要开发者认真对待并解决的问题。 目前,...

    jsp程序汇总

    JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 [1] 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

    JSP期末复习考点.docx

    request获取中文参数时可能出现乱码问题,需设置正确的编码。 8. **请求(request)生命周期与作用范围** - 请求开始到响应返回,只在当前请求范围内有效,服务器跳转也视为一次新的请求。 9. **响应对象...

    JSP企业电子投票系统(源代码+论文+开题报告+外文翻译+文献综述).zip

    外文翻译可能是对相关领域的国外研究进行的中文解读,帮助开发者了解国际上的最新技术和趋势。文献综述则汇总了关于电子投票系统的相关研究,为项目提供了理论支持。 总的来说,《JSP企业电子投票系统》的实现涉及...

    Java_资料学习汇总(API)

    这份压缩包中主要包括了三个关键文件:`Jsp帮助文档.chm`、`Jsp精华文章.chm`以及`JAVA中文_API.CHM`,这些都是Java开发者在学习和工作中不可或缺的工具。 `Jsp帮助文档.chm`是关于JavaServer Pages(JSP)的技术...

    中文乱码处理汇总.docx

    对于JSP和JDBC的MySQL乱码问题,JSP的默认请求编码是ISO8859_1,处理中文时需要将其转换为GBK。示例代码如下: ```java String str = new String(request.getParameter("name").getBytes("ISO8859-1"), "GBK"); out...

    答辩常见问题汇总1.pdf

    本文将对答辩常见问题进行总结,涵盖数据库连接、系统测试、前端技术、Web应用配置、编程语言、架构设计、开发工具等多个方面,旨在帮助理解这些关键概念。 1. 数据库连接:通常通过JDBC_ODBC桥接器来连接数据库。...

    Java 相关学习必备各类文档打包总汇

    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精华...

    ajax乱码解决汇总

    GBK和GB2312都是针对中文的编码,但GBK的字符集比GB2312大,包含了更多的汉字和符号。因此,误用GB2312编码可能会导致部分字符无法正确显示。 使用Cookie传递数据虽然方便,但也存在一些问题。一是Cookie的大小有限...

    收集的常见的专业问题解决办法.rar

    2009-03-20 16:37 254350 86752 常见的专业问题解决办法\解决Struts中ApplicationResources_properties文件不支持中文问题_微科工作室 QQ:28790953____.mht 2009-02-25 08:45 文件夹 文件夹 常见的专业问题解决办法...

    jsp17教师工作量管理系统(jsp+servlet+mysql)-csdn.rar

    教师业绩管理系统将改变以往个人填报和单位审核的流程关系,由系统生成教师的真实工作业绩,学年末只需做简单的统计汇总,所需报表系统就会生成。教师业绩管理系统的基本功能:用户注册管理、 业绩项目管理、 指标...

    解决jfreechart中文乱码方案整理.doc

    因此,针对JFreeChart中的中文乱码问题,本文将汇总并整理一系列有效的解决方案。 #### JFreeChart简介 JFreeChart是一款开源Java图表库,它提供了丰富的API来创建高质量的图表。JFreeChart支持多种类型的图表,...

    java web 开发乱码汇总

    当使用Ajax发送请求时,JavaScript默认使用ISO-8859-1编码,因此需要对包含中文的参数进行编码。一种常见做法是在发送请求前使用`encodeURI()`或`encodeURIComponent()`方法对参数进行编码,例如`var url = ...

    部署汇总系统步骤111

    在配置 Tomcat 时,我们需要修改 server.xml 文件,添加 URIEncoding="UTF-8" 配置,以便解决中文乱码问题。同时,我们还需要添加一个 init 参数,用于指定文件编码。 5. 启动服务 启动服务时,我们需要先启动 ...

Global site tag (gtag.js) - Google Analytics