`
xichao007521
  • 浏览: 43510 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

Jboss Seam, mysql中文乱码问题4步骤总结

    博客分类:
  • seam
阅读更多

Jboss Seam, mysql中文乱码问题4步骤总结

关键字: seam hbm2ddl 中文 乱码 mysql

其实以下总结适合于任何hibernate+mysql的情况;

步骤1:在创建数据库Schema的时候请指定编码,例如mysql,就用这样的语句来建立Schema:
Sql代码 复制代码
  1. create schema xxxx default character set utf8;  
create schema xxxx default character set utf8;

这一步必须这样,因为至少我在网上还没找到hbm2ddl的配置方法使得hibernate生成的数据库表的编码能被指定,那么为schema设置一个默认的编码就是最简便的方法;当然,你也可以不在schema上设置默认编码,等到hibernate生成表之后,在一个一个表地去改编码。具体可查阅数据库帮助文档。

“步骤1”得不到确认的话,下面的步骤可以忽略;

步骤2:在工程中的每一个页面,设置meta信息
Html代码 复制代码
  1. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

这个不多解释了,设置了这个后,起码你的页面能“容得下”中文了。这一步建议在模板技术里解决,在最外层的模板里加上这个meta就行了,不用每个页面都加。

至此,你会发现直接写死在页面上的中文没问题;直接用数据库管理客户端的console插入的中文也没问题;就是经由程序插入的中文数据有问题;那么:

步骤3:指定数据库连接url的参数,例:
Xml代码 复制代码
  1. jdbc:mysql://localhost:3306/data115?useUnicode=true&#38;amp;characterEncoding=utf-8  
jdbc:mysql://localhost:3306/data115?useUnicode=true&#38;amp;characterEncoding=utf-8

这样,经由程序插入的数据应该也能行了。

最后,有时候需要用GET方式在url的参数里传中文,url里的中文是需要被编码之后才能传的,像tomcat默认的uriEncoding是iso-8859-1,这会导致经由url传过来的中文值变乱码;这就需要在server.xml的connector节点里配置“URIEncoding='UTF-8'”,例如:
Xml代码 复制代码
  1. <Connector port="8080" address="${jboss.bind.address}"       
  2.          maxThreads="250" maxHttpHeaderSize="8192"  
  3.          emptySessionPath="true" protocol="HTTP/1.1"  
  4.          enableLookups="false" redirectPort="8443" acceptCount="100"  
  5.          connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='UTF-8'/>  
<Connector port="8080" address="${jboss.bind.address}"    
         maxThreads="250" maxHttpHeaderSize="8192"
         emptySessionPath="true" protocol="HTTP/1.1"
         enableLookups="false" redirectPort="8443" acceptCount="100"
         connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='UTF-8'/>

我这个是jboss的,server.xml位置在deploy/jboss-web.deployer下,tomcat的话很好找了,配置起来都一样。

最最后,你是不是认为还有一招“filter”的方式?以前用过一段时间struts的时候filter很管用,但现在我在seam下试验过后发觉有没有这个filter都没关系,只要确认上述4步骤那么乱码应该就能解决了;我估计如果框架程序里没有硬编码使用非UTF-8的字符集来encode的话都用不着filter.
分享到:
评论

相关推荐

    jboss seam 2.0 中文手册

    整理自jboss seam 中文站,压缩为chm格式,便于广大jboss seam爱好者阅读,所有版权归jboss seam中文站所有。

    JBOSS SEAM组件中文手册

    **JBoss Seam组件中文手册** **一、Seam框架概述** Seam是一个开源的企业级Java框架,由JBoss公司开发,旨在简化Java EE应用程序的开发。它将多种技术如JavaServer Faces (JSF),Java Persistence API (JPA),EJB 3...

    jboss seam 中文文档集合

    **JBoss Seam 中文文档集合概述** JBoss Seam 是一个开源的应用框架,它结合了JavaServer Faces (JSF)、Java Persistence API (JPA)、Enterprise JavaBeans (EJB) 3.0 和其他Java EE组件,旨在简化企业级开发。这个...

    JBoss Seam

    《JBoss Seam:超越Java EE的简易与强大》是一本深度探索JBoss Seam框架的权威著作,由Michael Yuan和Thomas Heute共同撰写。本书聚焦于JBoss Seam框架,旨在为读者提供一个全面、深入的理解,以掌握其在企业级应用...

    jbossseam eclipse安装 例子学习.doc

    这包括了 Eclipse、JBoss Application Server、JBoss Seam、JBoss Tools 以及 MySQL 数据库等组件的下载、安装与配置。这些步骤对于初次接触 JBoss Seam 的开发者来说非常重要,能够帮助他们快速搭建起一个功能完备...

    Jboss seam3 实战

    标题中的“Jboss seam3 实战”表明,本文将重点介绍JBoss Seam框架的第三个版本的实际应用。JBoss Seam是一个开源的Java EE框架,它通过依赖注入和会话模型,简化了基于Java EE的企业级应用开发。Seam框架为开发者...

    JBoss Seam入门介绍

    标题:JBoss Seam入门介绍 描述:本文将详细介绍JBoss Seam框架的核心概念、关键特性以及如何构建基于Seam的应用程序。Seam作为一个企业级Java Web应用框架,它将Java EE和JSF无缝集成,旨在填补Java EE 5.0中缺失...

    Jboss Seam 三本最受欢迎的教材

    【JBoss Seam】是Java企业级应用开发框架,它整合了JSF(JavaServer Faces)、EJB(Enterprise JavaBeans)3.0、JPA(Java Persistence API)以及一系列其他技术,为开发人员提供了一个强大的全栈式解决方案。Seam...

    深入浅出JBoss Seam.pdf

    ### 深入浅出JBoss Seam:整合与强化Java EE框架 #### 一、引言 JBoss Seam是一款基于Java EE 5.0的轻量级框架,它旨在简化企业级Web应用的开发过程,并增强应用的可扩展性和开发者的生产力。本文将详细介绍JBoss ...

    [JBoss] JSF & Facelets & JBoss Seam 核心技术 (英文版)

    [TipTec Development] JSF & Facelets & JBoss Seam 核心技术 (英文版) [TipTec Development] Essential JSF, Facelets & JBoss Seam (E-Book) ☆ 出版信息:☆ [作者信息] Kent Ka Iok Tong [出版机构] TipTec ...

    jboss seam 教程

    - **使用JSF 1.2 RI**:提供了如何在JBoss平台上使用JSF 1.2参考实现来部署和运行Seam应用的具体步骤。 #### 三、结语 通过以上内容的学习,读者可以全面了解JBoss Seam框架的核心功能和技术特点,掌握如何使用...

    jboss eap 6.2或as 7 以上乱码问题解决

    ### jBoss EAP 6.2 或 AS 7 以上乱码问题解决 #### 背景介绍 在使用jBoss Enterprise Application Platform ...通过以上步骤,可以有效地解决jBoss EAP 6.2 或 AS 7 以上的乱码问题,提高应用的可用性和用户体验。

    Beginning JSF2 APIs and JBoss Seam

    ### 关于《Beginning JSF2 APIs and JBoss Seam》的知识点总结 #### 一、书籍简介与背景 《Beginning JSF2 APIs and JBoss Seam》是一本深入介绍JavaServer Faces 2(简称JSF2)及其相关API以及JBoss Seam框架的...

    jboss seam 2.01GA REF DOC

    ### JBoss Seam 2.01GA REF DOC #### 引言:JBoss Seam概览与功能介绍 JBoss Seam 是一个为简化企业级 Java 应用开发而设计的框架。它结合了 JavaServer Faces (JSF)、Java Persistence API (JPA) 和 Java ...

    JBoss_Seam--中文教程

    ### JBoss Seam中文教程知识点详解 #### 一、JBoss Seam 的产生背景及意义 - **背景概述**:JBoss Seam 是一款旨在简化企业级Java应用程序开发的深度集成框架。随着Java EE生态系统的不断发展,越来越多的技术框架...

    Jboss-seam reference2.1中文版

    《JBoss Seam 2.1 用户手册中文版》是一本详细介绍如何使用JBoss Seam框架进行企业级应用开发的教程。该手册由“*工*”翻译,并由南山青牛整理成PDF格式,便于读者下载阅读。JavaEye社区提供了这本书的电子版自动...

Global site tag (gtag.js) - Google Analytics