Seam开发环境中的中文乱码问题
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&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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |