请教一个关于struts国际化的问题

juwairei 2005-05-17 09:39:32
我配置了一个临时的资源文件application_temp.properties,在dos下用native2ascii进行了编码转换,生成application_zh_CN.properties文件,页面显示的全是问号,如果将临时资源文件直接拷进application_zh_CN.properties文件,不进行编码转换 ,页面中文显示正常 。

请教各位老大,这是什么原因?

页面和web.xml配置文件是UTF-8的
...全文
132 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
loveyousomuch 2005-05-17
  • 打赏
  • 举报
回复
应该不会出现你说的这个问题,
你看看编译好的application_zh_CN.properties中是不是都是?号,如果是\e058这种编码就是正常的,应该是其它地方出了问题.

如果你用的是eclipse,而且把它字符集设为utf-8的话,
application_temp.properties文件中的字符就都是utf-8的编码,如果你直接在eclipse中修改这个文件,比如说加入中文的话,编译过来的application_zh_CN.properties中就都成了乱码!!
juwairei 2005-05-17
  • 打赏
  • 举报
回复
页面的charset肯定是不能改的拉
DreamDragon_NEU 2005-05-17
  • 打赏
  • 举报
回复
将页面的charset改一改~~
juwairei 2005-05-17
  • 打赏
  • 举报
回复
to: loveyousomuch

在dos下用
native2ascii -encoding gb2312 application_temp.properties application_zh_CN.properties
生成已编码的资源文件和你说的用encode.bat生成文件有什么不同呢?

我发现两者生成的文件是一样的 ,启动工程 ,页面中文还是显示问号:(
loveyousomuch 2005-05-17
  • 打赏
  • 举报
回复
临时的资源文件application_temp.properties,

在临时资源文件中应该是中文,而且用native2ascii进行转码的时候要注意参数,你可以写一个批处理encode.bat:
set path=%path%;D:\j2sdk1.4.2_05\bin


native2ascii -encoding gb2312 application_temp.properties application_zh_CN.properties

把encode.bat和application_temp.properties放在同一文件夹下,运行encode.bat就可以得到你要的已编码的资源文件:)
gks_cn 2005-05-17
  • 打赏
  • 举报
回复
页面好象要设置
<html:html locale="true">
trueyellow 2005-05-17
  • 打赏
  • 举报
回复
1、你发布web应用的系统环境是什么?资源文件是哪里创建的?中文系统下,文件的缺省file-coding就是GBK,在web页面上指定coding为GBK是绝对不会有乱码的。
2、native2ascii转码以后,应该是\uXXXX之类。
3、你看到的???应该是用某些IDE打开了原始文件(就是没有native2ascii处理前的那个),99%的IDE的缺省内部编码都是iso8859-1,打开GBK编码的文件,当然全是???。。。
gaoyq324 2005-05-17
  • 打赏
  • 举报
回复
你在action里,用locale测试一下目前用的资源文件
Locale locale = new Locale(request.getParameter("locale"));

System.out.println(locale.getCountry);

如果显示"CH 中国"就 对了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧