java的native2ascii.exe使用

来源:互联网 发布:淘宝会员名怎么改不了 编辑:程序博客网 时间:2024/05/22 01:53
 
struts2的国际化实现过程--刚开始写的时候按照网上说的那样配置完,结果一测试,乱码。然后
自己在网上查了很多关于struts2国际化乱码的文章,写的都不全面,比如native2ascii.exe在哪里都没有说明
后面摸索了一下,终于不乱码了。
 


第一步--有两种方法
A、在src下面新建一个struts.properties,加入里面的内容为:
struts.custom.i18n.resources=messagesource
其中:struts.custom.i18n.resources为固定的,
messagesource为自己定义的

B、struts.xml里面添加
<constant name="struts.custom.i18n.resources" value="messagesource"></constant>

A、B两种方法都能达到同样的效果(我亲自测试过)



第二步:
在src下面新建一个messagesource_en_US.properties,其中messagesource为第一步中自定义的名称,
加入里面的内容为您自己想要的内容,如:
HelloWorld=Hello World!
username = user name


第三步:
在src下面新建一个messagesource_zh_CN.properties,其中messagesource是第一步中自定义的名称,
加入里面的内容为第二步里面英文翻译后的中文(其他语言也可以,主要是达到一一对应),如
HelloWorld=您好,世界!
username = 用户


第四步:
把messagesource_zh_CN.properties重新复制一份并重命名为messagesource.properties,
把重命名后的messagesource.properties放到web-inf文件下面


第五步:中文转码
找到jdk的安装目录--D:\Program Files\Java\jdk1.6.0_10\bin(我的安装目录)--------cmd进入
在bin里面找到native2ascii.exe并运行
在命令窗口输入
D:\jdk1.5.0_06\bin>native2ascii.exe -encoding utf8 abc.txt bcd.txt 
把转换后的内容替代之前的
命令行格式:
native2ascii.exe -[options] [inputfile [outputfile]]

其中:
  -[options]表示命令开关,有两个选项可供选择:
    -reverse:用Latin-1或Unicode编码把文件转换成本地编码格式
    -encoding encoding_name:要把文件转换的目标编码
  inputfile:表示输入文件全名。
  outputfile:输出文件名。如果缺少此参数,将输出到控


第六步:在jsp页面显示国际化语言--这里用两种方法得到国际化语言并显示
<h2><s:text name="HelloWorld"/></h2>
<h2><s:property value="%{getText('HelloWorld')}"/></h2>

显示出来的结果是一样的


第七步:发布工程,在页面查看中文是否乱码,并且更改浏览器的语言看能否显示英文(我上面用的是英文和中文)
如果中文不乱码,英文也能显示,说明您测试成功了
原创粉丝点击