JAVA

人生若只如初见,何事秋风悲画扇。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  50 随笔 :: 25 文章 :: 157 评论 :: 0 Trackbacks

本人在国际化中,常遇到的一些问题总结一下:

存储显示相关信息的property文件,一般来说我们分一份中文与一份E文。然后再将其分别通过一定的命令将其转成unicode码。

这样在页面显示的时候再将其显示。实际说来如下(我是用STRUTS+JDK1.5)

1:编写peoperty文档

首先用分别在二个方本文档中存放二份不同的property,可能分别如下:

中文中:errors.required={0} 必须填写... (存为Application_zh.unicode.txt)

英文中:errors.required={0} required...

然后将其分别另存为unicode文档~记得不要搞错了,假如你存为其它类型如ANSI,那么你直接打开的时候可能是一团乱码!我就有过这个痛苦的经历,

先将其放到CVS上,再导来来时却#%……¥*,虽然再写个不是难事,但却真正写起来却也有蛮郁闷的!

2:编译文档

OK,写好二个property文件并存为UNICODE格式的文本文档后,再JDK提供的一个命令将其转化。此工具在JDK_HOME/BIN下面,如下:

native2ascii -encoding unicode Application_zh.unicode.txt Application_zh.properties

你若项目比较大,有相当多的property文件,则可以再加一些命令如:

native2ascii -encoding unicode contract_zh.unicode.txt contract_zh.properties

将其全部加到一个文档文档里面,再将其保存为可执行脚本,直接运行就OK了,而无须每次都在command下面去native2ascii

3:显示内容

终于可以显示内容了,easy!

<bean:message key="errors.required"/>

具体用法可以参考STRUTS的相关资料。

在WEB中我们也可以指定一过滤文件(现以UTF-8为例):

public class SetCharacterEncodingFilter implements Filter
{

    
public void init(FilterConfig arg0)
        
throws ServletException
    
{

    }


    
public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain)
        
throws IOException, ServletException
    
{
        request.setCharacterEncoding(
"UTF-8");

        chain.doFilter(request, response);
    }


    
public void destroy()
    
{

    }


}


就这些吧,以后有新的感觉再补充上来!也欢迎各位指正!

另外我也向大家推荐一款ECLIPSE下的小插件,编辑java的属性文件,并可以自动存盘为Unicode格式
http://propedit.sourceforge.jp/index_en.html

posted on 2006-01-24 00:41 Jkallen 阅读(428) 评论(0)  编辑  收藏 所属分类: JEE学习

只有注册用户登录后才能发表评论。


网站导航: