簡體   English   中英

i18n JAVA 字符編碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM