2014-01-03 5 views
0

У меня есть файл ресурсов (файл .properties), который имеет тайские символы.Невозможно прочитать тайские символы из файла ресурсов .properties в java

Когда я прочитал этот файл, используя приведенный ниже код, он отображает нежелательные символы, такие как «?»

package RD1.Common; 

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

public class LabelManagerRD { 

    public static String[] getLabel(String ParamString1) 
    { 

     String NextEle = ""; 
     String str2 = ParamString1; 
     int i = 1; 

     String Final[] = new String[1000]; 

     ResourceBundle bundle = 
       ResourceBundle.getBundle("rd", Locale.US); 

     Enumeration<String> enumeration = bundle.getKeys(); 

     while (enumeration.hasMoreElements()) 
     { 
      NextEle = enumeration.nextElement(); 

      if (NextEle.toLowerCase().contains(str2.toLowerCase())) 
      { 
       Final[i] = NextEle+"="+bundle.getString(NextEle); 
       i++; 
      } 
     } 

    return Final; 

    } 


    public static void main(String[] args) 
    { 
     try 
     { 
     String TestValue[] = getLabel("RD.RDRAPCEX"); 
     for(int i=1;i<=TestValue.length;i++) 
     { 
      if (!(TestValue[i].length()==0)) 
      { 
       System.out.println(i+" - "+TestValue[i]); 
      } 

     } 
     } 
     catch (Exception e) 
     { 

     } 


    } 
} 

и свойства файла (rd_en_US.properties) как ниже

BL_BLNG_GROUP.BL_BLNG_GRP.BLNG_GRP_ID.IP=รสสรืเ เพนีย รก~^PAGE_1~^Y~^N 
BL_BLNG_GROUP.BL_BLNG_GRP.LONG_DESC.IP=Long Desc~^PAGE_1~^Y~^N 
BL_BLNG_GROUP.BL_BLNG_GRP.SHORT_DESC.IP=Short Desc~^PAGE_1~^Y~^N 
BL_BLNG_GROUP.BL_BLNG_GRP.DETAIL_DESC.IP=Explanatory Note~^PAGE_1~^Y~^N 

Просьба предложить, как поступить с этим.

Спасибо заранее, Sandy

+0

Какую кодировку вы использовали для файла пакета? См. Http://stackoverflow.com/questions/4659929/how-to-use-utf-8-in-resource-properties-with-resourcebundle – assylias

ответ

1

Если кодирование файла является corrent, то вы должны отметить, что System.out не будет в состоянии напечатать UTF-8 символов с настройками консоли по умолчанию. Убедитесь, что консоль, которую вы используете для отображения вывода, также закодирована в UTF-8.

В Eclipse, например, вам нужно перейти в «Запустить конфигурацию»> «Общий» для этого.

enter image description here

1

Файлы свойств обычно интерпретируются в ISO 8859-1 кодировке. Если вам нужны другие символы, не включенные в этот набор, используйте escape-коды unicode, такие как \uxxxx. Существуют также инструменты, доступные для преобразования файлов свойств с различным кодированием в это (см. native2ascii).

Смежные вопросы