快速业务通道

Seam开发环境中的中文乱码问题

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-03

Seam是个很好很强大的Java框架,但在中国开发就不可避免的要遇到中文乱码问题,这个问题在Windows下或Linux下以GB2312为local的环境下尤为突出,也很头痛.我的应对就是抓住UTF-8编码,无论是应用服务器、数据库还是网页界面,全部大一统的使用UTF-8编码,即可轻松搞定.具体分述如下:

1、应用服务器

如果是JBOSS 5.1.0.GA的话,请查看%JBOSS_HOME%serverdefaultdeployjbossweb.sarserver.xml文件内容:

<Connector protocol="HTTP/1.1" port="8080" URIEncoding="UTF-8" address="${jboss.bind.address}" connectionTimeout="20000" redirectPort="8443" />

如果标红的这句没有的话,请添加!这样就完成了应用服务器的UTF-8设置.

2、数据库

数据库的UTF-8设置有两部分内容:

其一是在创建数据库时,使用utf-8编码方式创建数据库,Seam支持的数据库种类繁多,而平时我们基于也都是使用工具来创建数据库的,只需要在用工具创建数据库时,将其编码选成utf-8即可.

其二是在连接数据库的URL上指定编码,如下所示(以MySQL为例):

jdbc:mysql://数据库主机域名或IP地址:数据库端口号/数据库名?useUnicode=true&amp;characterEncoding=utf-8

注意:上面这句是没有分段的!!

这个可以在seam setup中设置,也可以在生成项目的resources目录中的lpms-dev-ds.xml、lpms-prod-ds.xml(JBoss)或glassfish-resources-dev.xml、glassfish-resources-prod.xml(GlassFish)中修改.

3、网页界面

在网页界面上,Seam已经使用了UTF-8做为它的界面编码,可以在生成项目的viewlayout目录中查看template.xhtml文件内容:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

只要该文件有上述标红内容即可.

其实不只是Seam框架,其它任何网页编程,无论是JAVA还是PHP,只要抓住这个原则,基本都能轻松搞定中文乱码问题,就是再一次呼吁大家都统一使用UTF-8编码.

本文出自 “野火兔的窝” 博客,请务必保留此出处http://firehare.blog.51cto.com/809276/585354

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号