• struts2中国际化时处理中文乱码问题


    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(我的安装目录)
    在bin里面找到native2ascii.exe并运行
    在命令窗口输入
    native2ascii -encoding UTF-8 messagesource.propertis messagesource_zh_CN.propertis

    native2ascii -encoding UTF-8 lang.properties lang_zh_CN.properties

    这个命令的意思是,用utf-8对messagesource.propertis进行转码,转码后保存到messagesource_zh_CN.propertis文件

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

    显示出来的结果是一样的

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

  • 相关阅读:
    单细胞转录组CNV分析
    瘦子增肌计划 | 健身
    WashU Epigenome Browser | ChIP-seq | DNase-Seq | ATAC-seq | 表观
    羽毛球新手教学
    可变剪切 | isoform | 提取特定exon的usage | DEXSeq
    文献快读 | 单细胞测序肾癌的免疫微环境与临床疗效的关系
    內外全科醫學士課程 | MBBS | 医疗
    天龙八部 | 中国名著 | 刷剧
    当代人工智能的基石 | 数据标注
    提取基因的特定外显子exon的碱基序列 | NCBI
  • 原文地址:https://www.cnblogs.com/moonfans/p/2985330.html
Copyright © 2020-2023  润新知