`
jff
  • 浏览: 94575 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

JSP 页面于页面传递中文

阅读更多

 JSP 页面于页面传递中文

1.编码问题:
  (1)首先确定JSP页面头部是否有:<%@ page contentType="text/html; charset=GBK" %>
  (2)类似这样的转码:
     String param= new String(request.getParameter("param").getBytes("ISO-8859-1"), "GBK");
  (3)添加filter字符过滤器,具体做法:

      先添加类:

import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import java.io.IOException;
import org.apache.log4j.Logger;
import java.net.URLEncoder;

/** *//**
 * 请求中中文字符串过滤类
 */

public class SetEncodingFilter
    implements Filter ...{
  private Logger logger=Logger.getLogger(this.getClass());

  public void init(FilterConfig filterConfig) throws ServletException ...{
  }

  public void doFilter(ServletRequest request, ServletResponse response,
                       FilterChain chain) throws IOException, ServletException ...{
    logger.info("请求转码过滤器===================");
    request.setCharacterEncoding("gb2312");
    chain.doFilter(request,response);
  }

  public void destroy() ...{
  }
}
     再注册类到XML里:

  <filter>
    <filter-name>Set Encoding</filter-name>
    <filter-class>SetEncodingFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>Set Encoding</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
 

  (4)如果是通过"a.jsp?param=中文"传递参数,则需要:
     a.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(param);
       取值用java.net.URLDncoder.dncode(param);再转回中文
     b.在你的Tomcat目录-->conf目录-->server.xml里找出这段:

       <Connector 
port="8080"               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               debug="0" connectionTimeout="20000" 
               disableUploadTimeout="true" <!--在里边加上这个参数-->URIEncoding="gb2312"
 /> 
 

  (5)数据库乱码,首先确定你在插入数据库之前是中文,解决办法:

     在数据库的数据库连接URL中加上useUnicode=true&characterEncoding=GBK就OK了。 

     如果在读取的时候出现乱码用第二种方法解决.

http://blog.csdn.net/lip009/archive/2006/09/07/1192022.aspx#521755


要servlet里面支持中文的方法: 
在dopost或者doget的第一句加上:
request.setCharacterEncoding("GB2312");
response.setCharacterEncoding("GB2312");
在jsp里面就把
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
里设置成charset=gb2312
如果这样还不行,就只有在取出中文后(getParameter)强制转换了:String str=new String(request.getParameter("text").getBytes("ISO-8859-1"),"GB2312");

很不错的方法,因为在java里面,乱码是个大问题,这些一定要铭记!

http://www.java-cn.com/technology/tech/4361.html


【jicken_woo】:
csdn里搜索一下。.太多了。.

【brooksychen】:
Address=<%=rs.getString("Address").toString() %>这句话中,楼主已经使用了getString()方法,返回的应该就是个String了,为什么还要用toString()方法?

value="<%=request.getParameter("Address").getBytes("gb2312").toString() %>"输入的[B@1627c16其实不是乱码,只是输出的某个地址而已。这是因为request.getParameter("Address")返回的是一个String,然后调用getBytes()方法返回的是一个byte类型的数组,而数组是对象,后面的toString()就是输出了这个对象的地址。这句话可以改为:
value="<%=new String(request.getParameter("Address").getBytes("gb2312")) %>"

分享到:
评论

相关推荐

    对jsp两个页面间传递变量出现变量乱码的解决

    本文将详细介绍如何解决JSP页面间传递变量时出现的乱码问题。 首先,我们来看方案(一),这是通过在JSP脚本中设置字符编码来解决局部乱码的方法。在JSP页面中插入以下代码: ```jsp ("GBK"); %&gt; ("GBK"); %&gt; ``` ...

    JSP几种页面间传递参数实现的方法

    jsp:param可以实现主页面向包含页面传递参数,如下:&lt;jsp:include page="Relative URL"&gt; &lt;jsp:param name="param name" value="paramvalue" /&gt; &lt;/jsp:include&gt; 还可以实现使用jsp:forward动作做页面跳转时传递参数...

    几种JSP页面传值方式.txt

    JSP页面之间的数据传递是实现前后端交互的关键环节之一。本文将详细介绍几种常见的JSP页面传值方式,并结合实际应用场景进行解释。 #### 1. 使用表单(Form)进行传值 通过`&lt;form&gt;`标签可以构建一个表单,用户填写...

    在多个页面传递jsp参数

    在多个页面传递jsp参数在多个页面传递jsp参数

    JSP页面中文参数的传递(get和post方法分析).docx

    JSP 页面中文参数的传递是非常有用的,在实际的编程中,我们常常遇到需要在 JSP 页面切换中传递中文字符。有两种方式可以实现中文参数的传递,即 URL 方式和 FORM 方式。 URL 方式 在 URL 方式中,我们可以直接在 ...

    jsp页面人力资源管理系统静态页面

    【标题】"jsp页面人力资源管理系统静态页面"涉及的是基于JavaServer Pages(JSP)技术构建的人力资源管理系统的前端部分。JSP是一种动态网页开发技术,它允许开发者将HTML、CSS、JavaScript等静态内容与Java代码相...

    jsp页面同时弹出页面和对话框

    本文将详细解析如何在JSP页面中通过两种主要方法实现这一功能:一是使用`window.open`方法弹出页面;二是使用`window.showModalDialog`方法弹出对话框,并深入探讨其应用场景及优缺点。 ### 一、通过`window.open`...

    怎么解决JSP页面中文问题20100901

    ### 如何解决JSP页面中的中文问题 在Web开发中,尤其是使用Java Server Pages (JSP)进行开发时,处理中文字符常常会遇到乱码问题。本文将详细探讨如何有效地解决JSP页面中的中文问题,确保用户界面能够正确地显示...

    JSP页面中文乱码几个解决办法

    JSP页面中文乱码的出现通常是由于字符编码不一致导致的,这会影响到用户的正常浏览体验。以下是一些常见的解决办法: 1. **JSP页面显示乱码**: 当JSP页面在浏览器中显示乱码时,首先需要确保JSP文件在本地存储时...

    知识共享-jsp页面中文参数传递get和post方法分析(雷惊风).

    本文将深入探讨在JSP页面中如何正确地通过GET和POST方法传递中文参数,以及在不同场景下应采取的最佳实践。 #### 二、GET方法中文参数传递 **1. 直接在URL中传递中文参数** 直接在URL中包含中文参数,如`...

    JSP页面从一个页面传递一个参数到另外一个页面的方法

    ### JSP页面从一个页面传递一个参数到另外一个页面的方法 #### 概述 在Web开发中,特别是使用Java Server Pages(JSP)进行网站构建时,经常需要在不同的页面之间传递数据。这些数据可能包括用户的输入、表单提交...

    Jsp页面在URL中传递参数会出现乱码问题解决

    在Web开发中,尤其是使用Java JSP技术时,我们可能会遇到...通过以上方法,我们可以有效地解决JSP页面在URL中传递参数时出现的乱码问题。在实际开发中,理解字符编码的工作原理和处理方式,对于避免这类问题至关重要。

    关于JSP页面间的传参问题

    ### 关于JSP页面间的传参问题 #### JSP页面间传值方法概述 在进行Web开发时,尤其是在使用Java Server Pages(JSP)技术的过程中,页面间的参数传递是一项非常重要的技能。它不仅涉及到基本的HTML知识,还涉及到...

    jsp页面传值中文乱码问题处理.docx

    jsp页面传值中文乱码问题处理 在 JSP 页面中传值时,中文字符可能会出现乱码问题,这是由于字符编码不一致所引起的。下面将详细讲解 JSP 中文乱码种类和解决方案。 JSP 文件中文内容显示乱码 在 JSP 文件中,如果...

    jsp参数传递

    ### JSP页面间参数传递详解 #### 一、引言 在Web开发中,Java Server Pages (JSP) 是一种广泛使用的服务器端脚本技术,它允许开发者在HTML页面中嵌入Java代码,从而实现动态内容的生成。JSP页面间参数传递是JSP...

    jsp经典页面搜集集合

    这个“jsp经典页面搜集集合”显然是一个资源包,包含了多个用于构建网站或个人博客的基础JSP页面实例。 **1. JSP页面结构** 一个JSP页面主要由两部分组成:静态内容(HTML、CSS、JavaScript)和动态内容(Java代码...

    使用代码自动生成jsp页面

    在Java Web开发中,通常我们会使用Action(或Controller)层来处理业务逻辑,并通过Model将数据传递到View(如JSP页面)进行展示。但有时我们可能需要在Action层直接生成一个静态HTML页面,以便于快速部署或者离线...

    在jsp页面中显示流程图

    在提供的博客链接(https://yhxiao1983.iteye.com/blog/248291)中,作者可能会分享一个具体的JSP页面显示流程图的源码示例,这有助于读者理解实际的实现过程。建议查看该博客以获取更多细节和实践指导。 7. **...

    JSP页面与JSP标记.ppt

    **JSP页面与JSP标记**是Web开发中的核心概念,它们构成了动态网页的基础。本章将深入探讨JSP语法,包括HTML语法、JSP页面结构、变量与方法的声明,以及Java程序片、Java表达式、JSP指令和动作标记的使用。 ### 2.1 ...

    韩顺平 jsp页面计算器

    【韩顺平 jsp页面计算器】是一个基于JSP(JavaServer Pages)技术的简单计算器应用,旨在帮助初学者理解如何在不同的JSP页面之间传递参数。这个教程可能由知名IT教育者韩顺平教授,他的课程通常深入浅出,适合初学者...

Global site tag (gtag.js) - Google Analytics