`
linzhanghui
  • 浏览: 45456 次
  • 性别: 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学习笔记 jsp学习资料

    学习JSP的相关读书笔记,可作为平时学习JSP的参考资料或者作为课设的总结

    JSP学习笔记(三)-----使用JSP处理用户注册和登陆

    JSP学习笔记(三)-----使用JSP处理用户注册和登陆

    JSP_Servlet学习笔记(第2版).pdf

    《JSP & Servlet学习笔记(第2版)》涵盖了文本处理、图片验证、自动登录、验证过滤器、压缩处理、JSTL应用与操作等各种实用范例。 《JSP & Servlet学习笔记(第2版)》以“微博”项目贯穿全书,将JSP & Servlet技术应用...

    JSP&amp;Servlet学习笔记.pdf

    JSP&Servlet学习笔记,适合初学jsp和servlet的人群,初学者学习可能有点困难

    林学良Jsp&Servlet学习笔记

    林学良Jsp&Servlet学习笔记,html格式的,很基础的学习文档。

    JSP网络编程学习笔记源代码 part2

    第六篇为“Web应用高级专题”,主要讲述Servlet过滤器、JSP异常处理、JSP日志、认证和安全、部署等内容;第七篇为“Web应用开发实例”,围绕一个电子商务网站,从需求分析、架构选取、数据存储、开发、测试及部署等...

    [JSP&Servlet;学习笔记(第2版)]

    [JSP&Servlet;学习笔记(第2版)]。

    JSP&Servlet;学习笔记

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做...

    MySQL学习笔记-JSP操作MySQL

    MySQL学习笔记-JSP操作MySQL

    JSP笔记,JSP笔记

    JSP笔记,JSP笔记 JSP JAVA 笔记

    JSP_Servlet学习笔记(第2版)

    JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 本书针对Servlet3.0的新功能全面改版,无论章节架构...

    JAVA-WEB学习笔记+JSP学习笔记,很完整的东西

    JAVA-WEB学习笔记+JSP学习笔记

    Java学习笔记学习笔记

    Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习...

    jsp完整学习笔记(完整版)

    该资源为本人在专业培训学校的jsp学习笔记,内容非常全面!

    JSP Servlet 学习笔记 第2版 林信良 随书光盘 共三卷

    JSP Servlet 学习笔记 第2版 林信良 随书光盘 第3卷

    JSP & Servlet学习笔记

    本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。, 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做...

    jsp经典笔记jsp经典笔记

    JSP(java server page) 1.JSP介绍: JSP是服务器端运行的页面,JSP本身就是一个Servlet,他不仅可以包含静态的HTML代码,也可以包含动态的JAVA代码,服务器容器可以将JSP转换成Servlet发布,并接受请求。 Jsp文件...

    Servlet &JSP学习笔记NetBeans源代码

    Servlet &JSP学习笔记NetBeans源代码,课本中所有的源代码,NetBeans版本,服务器为Tomcat

    JSP &amp; Servlet学习笔记(第2版)

    书 名:JSP & Servlet学习笔记(第2版) 作 者:(台湾)林信良 著 出 版 社:清华大学出版社 出版时间:2012-5-1 ISBN:9787302283669 纸书页数:456页 定 价:¥ 58.00 内容简介: 本书是作者多年来...

    Java 学习笔记Java学习笔记

    Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记

Global site tag (gtag.js) - Google Analytics