写下这篇文章方便自己和大家以后查看,结合亲身经历,亲测可行
国际化资源信息用于Web应用的各页面提供国际化支持。Java9已经允许使用UTF-8字符集保存国际化资源文件,因此这种国际化资源文件可包含中文,无需向Java9以前那样使用native2ascii命令进行处理
这里主要介绍如何解决java9之前国际化实现过程乱码问题
如何提供国际化支持呢?
第一步–有两种方法
1、在src下面新建一个struts.properties,加入里面的内容为:struts.custom.i18n.resources=mess
其中:struts.custom.i18n.resources固定的,mess为自己定义的名字
2、struts.xml里面添加
<constant name="struts.custom.i18n.resources" value="mess"></constant>
第二步:
资源文件的命名格式: 名称_语言代码_国家代码. properties
在src下面新建一个mess_zh_CN.properties,其中mess是第一步中自定义的名称,
加入里面的内容
user=用户名
pass=密码
login=登录
第三步:建立一登录页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<meta content="text/html" charset="UTF-8" http-equiv="Content-Type">
<title><s:text name="loginPage"/></title>
</head>
<body>
<s:form>
<s:textfield name="username" key="user"/>
<s:textfield name="password" key="pass"/>
<s:submit key="login"/>
</s:form>
</body>
</html>
启动tomcat服务器,在浏览器中访问,乱码
解决乱码
把mess_zh_CN.properties重新复制一份并重命名为mess.properties,放在任何位置都行。
在命令窗口输入
native2ascii -encoding UTF-8 C:\Users\坐山观星客\Desktop\mess.properties F:\eclipsejee\webtest\src\mess_zh_CN.properties
这个命令的意思是,用utf-8对mess.propertis进行转码,转码后保存到mess_zh_CN.propertis文件
再次访问页面