[英]i18n JAVA character encoding
我有一個使用帶有屬性文件的 i18n 的 Java(Java 7)程序,但我無法插入表情符號或其他“非普通”字母,因為 Java 打印?
. 但是當我使用時,例如:
package res;
import java.util.ListResourceBundle;
public class Bundle_it_IT extends ListResourceBundle {
@Override
protected Object[][] getContents() {
return new Object[][] {
{"hello", "Hello, “ \ uD83D\ uDE42 \ uD83D\ uDE0A\ uD83D\ uDE00\ uD83D\ uDE01"},
{"ourfeatures", new String[] {"Test 1", "Test2", "test 3"
};
}
}
Java 能夠打印所有沒有問號的內容。
有沒有辦法使用專有文件,即使是“奇怪的符號”? 屬性文件的編碼是 ASCHI 嗎?
主要課程是:
package testi18nv1;
import res.Bundle_it_IT;
import java.util.Locale;
import java.util.ResourceBundle;
public class Main {
public static void main(String[] args) {
Locale locale_it_IT = new Locale("it", "IT");
Locale locale_ru_RU = new Locale("ru", "RU");
Bundle_it_IT bundle_it_IT = new Bundle_it_IT();
ResourceBundle resourceBundle = ResourceBundle.getBundle("res.bundle", locale_it_IT);
System.out.println(resourceBundle.getString("hello"));
System.out.println(bundle_it_IT.getString("hello"));
}
}
我曾嘗試在屬性文件上使用俄語字母,但 java 打印問號。
最初 *.properties 在 Latin-1、ISO-8859-1 中。
較新的 java 版本首先嘗試 UTF-8。 因此,您需要從 Java 7 更新到更新的版本。 這沒有問題。
您還可以在 UTF-8 中保留一個屬性文件,例如 xxx.utf8props 並將它們轉換並復制到 xxx.properties 從 src 到構建目錄。 這可以使用 java SE 工具native2ascii<\/strong>來完成。 (如
\?<\/code> )
更麻煩的是更改您的代碼並使用您自己的類屬性加載。
但實際上 Java 7 不再是生產質量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.