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

简介:

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

1、应用服务器

如果是JBOSS 5.1.0.GA的话,请查看%JBOSS_HOME%\server\default\deploy\jbossweb.sar\server.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做为它的界面编码,可以在生成项目的view\layout目录中查看template.xhtml文件内容:

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

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

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



本文转自 firehare 51CTO博客,原文链接:http://blog.51cto.com/firehare/585354,如需转载请自行联系原作者

相关文章
|
7月前
clion 一劳永逸 解决中文乱码
clion 一劳永逸 解决中文乱码
127 0
|
6月前
IDEA中properties文件中文乱码解决方案
IDEA中properties文件中文乱码解决方案
|
7月前
|
Java Android开发
vscode+java开发环境中文乱码问题~
vscode+java开发环境中文乱码问题~
315 0
|
7月前
|
编解码 JavaScript 编译器
[字符编码] 实战篇:QT中文乱码的解决办法
[字符编码] 实战篇:QT中文乱码的解决办法
2031 0
|
Java Linux 应用服务中间件
springboot打包发布到windows环境上中文乱码问题
springboot打包发布到windows环境上中文乱码问题
296 0
|
Java 应用服务中间件
IDEA中中文乱码问题解决方案
打开File-Setting, 找到File Encodings这个选项,把encoding设置成你工程的编码即可,一般是UTF-8,如下图(红框的地方),然后重新rebuild一下,基本就行了
330 0
|
C++ Windows
VSCode软件之C++环境下解决中文乱码问题
VSCode软件之C++环境下解决中文乱码问题
615 0
VSCode软件之C++环境下解决中文乱码问题
|
应用服务中间件
IDEA运行JAVAWEB项目OutPut乱码的解决方法
更改编码 通过搜索将文件中的所有UTF-8改为GBK 例如:
108 0
IDEA运行JAVAWEB项目OutPut乱码的解决方法
IDEA出现问题:*.properties文件中文乱码解决方案
IDEA出现问题:*.properties文件中文乱码解决方案
782 0
IDEA出现问题:*.properties文件中文乱码解决方案
|
编译器 C语言
QT软件开发:QtCreator使用VS2017编译器中文乱码解决
QT软件开发:QtCreator使用VS2017编译器中文乱码解决
401 0
QT软件开发:QtCreator使用VS2017编译器中文乱码解决