天空是藍色的

          做好軟件為中國 #gcc -c helloworld.c -o helloworld.o //編譯目標文件 #gcc helloworld.o -o helloworld //編譯成可執行exe #helloworld //運行exe
          數據加載中……
          用java SDK/bin目錄下的native2ascii.exe把.properties文件中的中文轉換成unicode字符,實現國際化
          需要用到java SDK\\bin 目錄下的native2ascii.exe程序,把你寫的文本文件轉成unicode字符即可,例: native2ascii 源文件名.txt 新文件名.txt

          測試 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
          =\u4f60\u597d\u554a~~

          輸出:
          你好啊~~

          在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>");
              }

          }



          posted on 2005-11-24 15:46 bluesky 閱讀(14002) 評論(8)  編輯  收藏 所屬分類: 工作總結

          評論

          # re: 用java SDK/bin目錄下的native2ascii.exe把.peoperties文件中的中文轉換成unicode字符,實現國際化 2005-11-24 16:46 小明

          為什么一定要用native2ascii轉換一下呢,修改起來也麻煩

          我看了一下jdk的src

          發現讀取配置文件總是使用這樣的方法
          BufferedReader in = new BufferedReader(new InputStreamReader(inStream, "8859_1"));

          不知道jdk為什么要強制以8859_1來讀取,所以得到以后要轉化回來
          String title = rb.getString("helloworld.title");
          System.out.println(new String(title,"8859_1")));

          這樣就對了。
            回復  更多評論    

          # re: 用java SDK/bin目錄下的native2ascii.exe把.peoperties文件中的中文轉換成unicode字符,實現國際化 2005-11-24 16:47 小明

          剛剛打錯了,應該是
          System.out.println(new String(title.getBytes("8859_1")));
            回復  更多評論    

          # re: 用java SDK/bin目錄下的native2ascii.exe把.peoperties文件中的中文轉換成unicode字符,實現國際化 2005-12-26 11:03 bluesky

          今天終于用上了這個類,發現LocalStrings.peoperties和LocalStrings_zh.peoperties必須放在class根目錄下,不能放到類package中,
          否則提示

          java.util.MissingResourceException: Can't find bundle for base name LocalStrings, locale zh_CN
            回復  更多評論    

          # re: 用java SDK/bin目錄下的native2ascii.exe把.peoperties文件中的中文轉換成unicode字符,實現國際化 2006-01-16 09:35 劍事

          peoperties寫錯了
            回復  更多評論    

          # re: 用java SDK/bin目錄下的native2ascii.exe把.peoperties文件中的中文轉換成unicode字符,實現國際化 2006-01-16 14:43 bluesky

          謝謝,我已改正之!
            回復  更多評論    

          # re: 用java SDK/bin目錄下的native2ascii.exe把.properties文件中的中文轉換成unicode字符,實現國際化 2006-03-07 14:36 devel

          利用一下ant里邊的轉碼功能。
            回復  更多評論    

          # re: 用java SDK/bin目錄下的native2ascii.exe把.properties文件中的中文轉換成unicode字符,實現國際化 2009-04-30 15:00 創意產品

          mark
            回復  更多評論    

          # re: 用java SDK/bin目錄下的native2ascii.exe把.properties文件中的中文轉換成unicode字符,實現國際化 2011-12-04 21:23 12

          怎么在native2ascii.exe的命令行輸入中文進行轉碼?我的只能輸入中文,這是為什么啊?
            回復  更多評論    
          主站蜘蛛池模板: 上饶县| 仪征市| 民和| 奉贤区| 城固县| 宜兰县| 汕尾市| 嘉鱼县| 泽普县| 岳阳市| 景德镇市| 芒康县| 岑巩县| 开化县| 阿拉善右旗| 武夷山市| 灵丘县| 尉氏县| 准格尔旗| 苗栗县| 福建省| 会泽县| 南和县| 大田县| 巨野县| 资阳市| 改则县| 南部县| 贡嘎县| 来宾市| 刚察县| 关岭| 分宜县| 抚松县| 安远县| 武陟县| 兴安盟| 二连浩特市| 策勒县| 长宁县| 利辛县|