用java SDK/bin目录下的native2ascii将ApplicationResources.properties中的中文转化成unicode码实现国际化

1.在clipsee中创建这样一个文件ApplicationResources.properties_zh,自然里边就用来保存中文了.而且系统会自动地以GBK的方式存储该文件,所有该文件在eclipse里也可以显示,不至于像 ApplicationResources.properties 那样出现乱码.

2.用native2ascii工具转换该文件成unicode码,这个工具就在jdk的bin下,使用的方式如下:
native2ascii.exe ApplicationResources.properties_zh ApplicationResources.properties

ant:
<native2ascii src="${dir.target}" includes="Resources.properties" dest="${dir.target}/ascii" encoding="utf-8"/>

详细说明:http://ant.apache.org/manual/OptionalTasks/native2ascii.html

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

测试 ResourceBundleTest.java

import java.util.Locale;
import java.util.ResourceBundle;

public   class  ResourceBundleTest  {
    
public static void main(String args[]) {
        ResourceBundle rb 
= ResourceBundle.getBundle("LocalStrings", Locale.CHINA);
        
//LocalStrings 为peoperties文件的文件名称
        String title = rb.getString("helloworld.title");
        System.
out.println(title);
    }

}

LocalStrings_zh.properties

# This locale  is  zh_CN
helloworld.title
= 你好啊 ~~

输出乱码~~
用native2ascii.exe把中文格式化

# This locale  is  zh_CN
helloworld.title
= 你好啊 ~~

输出:
你好啊~~
在Servlet中的例子应用,Tomcat下的例子,根据request不同选择响应的语言也不相同

/*
* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     
http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/**/ /* $Id: HelloWorldExample.java,v 1.3 2004/03/18 16:40:33 jfarcand Exp $
 *
 
*/


import java.io.
* ;
import java.text.
* ;
import java.util.
* ;
import javax.servlet.
* ;
import javax.servlet.http.
* ;

/**/ /**
 * The simplest possible servlet.
 *
 * @author James Duncan Davidson
 
*/


public   class  HelloWorldExample extends HttpServlet  {


    
public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
    
{
        ResourceBundle rb 
=
            ResourceBundle.getBundle(
"LocalStrings",request.getLocale());
        response.setContentType(
"text/html");
        PrintWriter 
out = response.getWriter();

        
out.println("<html>");
        
out.println("<head>");

        String title 
= rb.getString("helloworld.title");

        
out.println("<title>" + title + "</title>");
        
out.println("</head>");
        
out.println("<body bgcolor="white">");

    
// note that all links are created to be relative. this
    
// ensures that we can move the web application that this
    
// servlet belongs to to a different place in the url
    
// tree and not have any harmful side effects.

        
// XXX
        
// making these absolute till we work out the
        
// addition of a PathInfo issue

        
out.println("<a href="../helloworld.html">");
        
out.println("<img src="../images/code.gif" height=24 " +
                    
"width=24 align=right border=0 alt="view code"></a>");
        
out.println("<a href="../index.html">");
        
out.println("<img src="../images/return.gif" height=24 " +
                    
"width=24 align=right border=0 alt="return"></a>");
        
out.println("<h1>" + title + "</h1>");
        
out.println("</body>");
        
out.println("</html>");
    }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值