`

JSF本地化过程中出现乱码问题解决

    博客分类:
  • JSF
阅读更多

JSF本地化的基本配置。

  1. 首先要在faces-config.xml中配置本地化信息:
    <?xml version='1.0' encoding='UTF-8'?>
    <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
    
    	<application>
    		<message-bundle>messages</message-bundle>
    		<locale-config> 
    			<default-locale>zh_CN</default-locale> 
    			<supported-locale>en_US</supported-locale>
    		</locale-config> 
    	</application> 
    	
    </faces-config> 
    
    
      默认的区域为zh_CN(中文_中国)
  2. 在WEB-INF/classes目下创建messages_zh_CN.properties(一定要是messages开头,与<message-bundle>中的内容对应,zh_CN是从<locale-config>中取的。JSF默认从classpath中读取合适的本地化文件。
  3. messages_zh_CN.properties的默认编码是ISO-8859-1,若是gb2312,gbk肯定不行。但是我们又要在messages_zh_CN.properties放置相应的中文字符,因此可以放ascii的信息,用来表示中文字符
  4. 创建一个temp.properties的临时文件,编码为UTF-8,内容为:
    javax.faces.validator.LengthValidator.MAXIMUM=不能超过最大长度{0}
  5. 调用Java_home/bin/native2ascii.exe方法,把UTF-8的字符转成acsii编码,命令如下:native2ascii a.properties -encoding 生成的结果: UTF-8javax.faces.validator.LengthValidator.MAXIMUM=\u4e0d\u80fd\u8d85\u8fc7\u6700\u59
    27\u957f\u5ea6{0}
  6. 然后把生成的结果复制到messages_zh_CN.properties,重启服务器即可

 

 

 


 

 

分享到:
评论

相关推荐

    JSF中文问题解决方法完整版

    2. **资源文件**:JSF应用中常使用资源文件(如.properties或.resx)来管理本地化文本。如果中文文本存储在这些文件中,需确保文件编码为UTF-8,并在读取时指定正确的编码。 3. **视图渲染**:JSF页面(通常是....

    ADF(JSF)框架中使用国际化

    这样,JSF知道在哪里查找和加载对应的本地化字符串。在ADF中,可以在`adfc-config.xml`或`pageDef.xml`中进行相应的配置。 3. **使用EL表达式**:在页面组件中,可以通过Expression Language (EL)表达式引用资源...

    处理struts乱码

    如果日志中出现乱码,检查日志框架(如Log4j)的配置,确保其输出的编码与系统编码一致。 通过以上步骤,可以在不编写过滤器的情况下解决Struts中的乱码问题。每个环节都至关重要,需要仔细检查和配置,确保在整个...

    eclipse3.6汉化包

    - 安装汉化包后,如果出现界面显示不全或乱码问题,可能是字体设置不兼容,可以尝试更换系统或Eclipse内的字体设置。 - 安装汉化包不会影响代码编辑或编译,主要是界面和帮助文档的语言变化。 5. **Eclipse 3.6的...

    2009系统架构师大会PPT:李江涛:使用Sakai构建开放式教学平台

    - **Bug修复**:解决中文乱码问题以及其他由于本地化差异导致的错误,包括日期格式等。 - **功能定制**:根据国内用户的特殊需求对现有工具进行定制或改进,如UI设计调整等。 - **新工具开发**:如果现有工具无法...

Global site tag (gtag.js) - Google Analytics