`
linzhanghui
  • 浏览: 46041 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

学习笔记 jsp乱码处理

    博客分类:
  • Java
阅读更多
页面,数据库,服务器 等编码方式向utf-8靠拢
1.JSP输出中文的乱码问题
1).jsp页面头部<%@ page contentType="text/html;charset=utf-8" %>(在Servlet中使用httpServletResponse.setContentType("text/html;charset=utf-8")),最好同时在JSP页面的head部分加上<meta http-equiv="Content-Type" content="text/html; charset="utf-8">。
2).在每次要输出中文的地方主动转换编码方式

2.获取表单提交的数据时的中文乱码问题
Java代码 复制代码
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>   
  3. <% String str=request.getParameter("chStr");   
  4.     if(str==null) str="没有输入值";   
  5.  %>   
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   
  7. <html>   
  8. <head>   
  9. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">   
  10. <title>Insert title here</title>   
  11. </head>   
  12. <body>   
  13. 你输入的内容为:<%= str %><br/>   
  14. <form action="luanma.jsp" method="post">   
  15. 请输入中文:<input type="text" name="chStr"/><input type="submit" value="确定"/>   
  16.   
  17. </form>   
  18. </body>   
  19. </html>  



这段代码产生提交数据中文乱码
解决办法1.局部解决方法:将表单中的中文数据取出来过后再转换编码,String str = request.getParameter("chStr"); String str = new String(str.getBytes("ISO-8859-1"),"utf-8"),
解决办法2.让所有页面的请求通过一个Filter,将处理字符集设置为utf-8
拷贝tomcat示例代码SetCharacterEncodingFilter到自己的工程中,
在自己工程的web.xml中加入代码:
Java代码 复制代码
  1. <filter>   
  2.  <filter-name>Set Character Encoding</filter-name>   
  3.  <filter-class>linzhanghui.iteye.com.util.filter.SetCharacterEncodingFilter</filter-class>   
  4.  <init-param>   
  5.   <param-name>encoding</param-name>   
  6.   <param-value>UTF8</param-value>   
  7.  </init-param>   
  8. </filter>   
  9. <filter-mapping>   
  10.  <filter-name>Set Character Encoding</filter-name>   
  11.  <url-pattern>/*</url-pattern>   
  12. </filter-mapping>  



3.URL中中文处理:
打开Tomcat安装目录下的/conf/server.xml文件,找到Connector块,往其中添加URIEncoding="utf-8"/>
示例:
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf-8" />

4.数据库访问时的乱码问题
连接字符串写成如下形式:
jdbc://mysql://hostname:port/DBname?user=username&password=pwd&useUnicode=true&character Encoding=utf-8

数据源的方式连接数据库:
<parameter>
    <name>url</name>
    <value>jdbc:mysql://hostname:port/DBname? &useUnicode=true&characterEncoding=utf-8 </value>
</parameter>
但是,如果使用一个已经存在的数据库,数据库的编码方式为ISO-8859-1,而web应用中使用utf-8。且数据库中已经有很多重要信息,因此不能通过更改数据库的编码方式来解决问题。这个时候,在往数据库中写数据时,一定要在jdbc连接字符串中加入"useUnicode=true&characterEncoding=ISO-8859-1"
具体实现如下:
public String charConvert(String src){
   String result=null;
   if (src!=null) {
      try {
          result = new String(src.getBytes("ISO-8859-1"),"utf-8");
      } catch (Exception e) {
        result = null;
      }
   }
    return result;
}

于是,在从数据库读出数据过后调用charConvert(rs.getString("colName"))
分享到:
评论

相关推荐

    JSP-Servlet学习笔记第2版.pdf

    由于直接学习笔记的内容没有给出具体的实例代码和详细解释,所以这里只提供了理论层面的知识点。如果需要学习具体实现,可以寻找相关的教程和项目实践来加深理解。同时需要注意的是,由于JSP/Servlet技术相对老旧,...

    jsp学习笔记,包括struts、数据库方面

    在提供的"jsp笔记"文件中,可能包含了对这些问题的详细记录和解决方案,包括JSP语法的使用示例、Struts框架的应用实例、如何配置和优化数据库连接池以解决连接问题,以及处理乱码问题的具体步骤。此外,笔记可能还会...

    JAVA-JSP学习笔记.doc

    【JAVA-JSP学习笔记】 1. **JSP中去除字符串空格**:在JSP中,我们可以使用`String.trim()`方法来去除字符串两端的空格,如果需要去除所有空格,可以使用`String.replaceAll("\\s", "")`。 2. **JSP页面间参数传递...

    JSP学习笔记

    ### JSP学习笔记详解 #### 一、JSP基础语法概览 JSP(Java Server Pages)是一种在服务器端执行的脚本语言,用于生成动态网页。它将HTML标记、JavaScript脚本和Java代码结合在一起,使开发者能够创建功能丰富的Web...

    java学习笔记

    本资源是 Java 开发者的学习笔记,涵盖了项目管理、权限管理、自动编号、Ajax 访问 servlet、数据库查询、字符串处理、数据加密、jQuery 弹框插件、乱码解决方案、版本控制、流程中加载 Java 事件、页面警告弹框、...

    appfuse学习笔记(三)解决乱码和菜单设置

    在本篇“appfuse学习笔记(三)解决乱码和菜单设置”中,我们将深入探讨在使用AppFuse框架时遇到的编码问题以及如何定制应用程序的菜单。AppFuse是一款开源项目,它提供了一个快速开发Web应用的基础,特别是对于Java...

    JavaWeb阶段学习笔记

    - **请求乱码处理**:解决不同请求方式下的中文乱码问题。 - **请求转发**:实现Servlet之间的数据传递和请求转发。 **示例代码**: ```java // 获取GET请求参数 String name = request.getParameter("name"); // ...

    javaWeb学习笔记.pdf

    ### JavaWeb 学习笔记知识点总结 ...以上是对JavaWeb学习笔记中的JSP相关知识点进行了详细总结,包括JSP的基本概念、部署方式、编码设置、动态交互流程以及页面跳转等内容。希望对你学习JavaWeb有所帮助。

    jsp基本语法 学习指南

    jsp 基础的学习笔记 第一章语法和el表达式语言的使用 JSP学习要点记录 jsp乱码解决大全 基础开发入门级:JSP与ASP的比较 用EL访问javabean pro jsp第三章第五节代码 .......

    jsp详细整理笔记

    ### JSP基础知识与应用详解 #### 一、JSP概述 JSP(JavaServer Pages)是一种...通过以上内容的学习,我们不仅可以更好地理解JSP的基本原理和使用方法,还能掌握如何在实际开发中高效地运用JSP技术来构建动态网站。

    jsp学习笔记

    **JSP(Java Server Pages)**是一种动态网页技术,它允许开发者将HTML代码与Java代码混合在一起,以创建交互式的Web应用。...通过不断实践和学习,你将能够更有效地利用JSP创建复杂、高效的应用程序。

    J2EE相关技术知识学习笔记

    例如,Out对象用于向页面输出内容,处理字符编码问题时,可以通过设置contentType属性或调用request.setCharacterEncoding()方法来解决乱码问题。 JSP的页面定位涉及到URL路径的理解。在Web应用中,"/"通常代表根...

    JavaWeb个人学习笔记

    ### 中文乱码处理 中文乱码是Web开发中常见的问题,主要出现在数据传输过程中。产生乱码的原因主要有两个:一个是浏览器与服务器之间的编码不一致,另一个是GET和POST请求提交数据时编码的问题。 - 在GET请求中,...

    JAVA-WEB学习笔记.pdf

    ### JAVA-WEB学习笔记知识点详解 #### 一、Tomcat配置与环境搭建 **1. Tomcat 安装步骤:** - **安装 JDK:** 在安装 Tomcat 之前,需要先安装 JDK (Java Development Kit)。这里以 JDK 1.5 为例。 - 下载并安装 ...

    Spring的学习笔记

    以下将详细介绍Spring学习笔记中的主要知识点。 **面向抽象编程** 面向抽象编程是一种设计原则,强调在代码中使用接口或抽象类,而不是具体实现类。这使得系统更具有灵活性,易于扩展和维护。在Spring框架中,我们...

    SpringMVC学习笔记+学习源码.zip

    总的来说,这份"SpringMVC学习笔记+学习源码.zip"资源涵盖了SpringMVC的基本概念、配置、控制器、数据绑定、异常处理、视图解析等多个方面的内容,对于初学者和有一定经验的开发者都是很好的学习资料。通过深入学习...

    Struts2学习笔记

    ### Struts2学习笔记知识点梳理 #### 一、Struts2框架概述 - **背景**:Struts2作为Struts1的升级版本,融合了WebWork框架的优点,由Apache基金会维护,是一个开源、免费的MVC框架。尽管随着时间的推移,Spring MVC...

Global site tag (gtag.js) - Google Analytics