5

私はJavaとAndroidの両方にまったく慣れていません。

ロシア文字で文字列を初期化しようとしています

    lesson.addUnit(new NounUnit("Schiff", "Корабль", NounUnit.Gender.NEUTRAL));
    lesson.addUnit(new NounUnit("Tafel", "Доска, панель", NounUnit.Gender.FEMININUM));
    lesson.addUnit(new NounUnit("Lineal", "Линейка чертежная", NounUnit.Gender.NEUTRAL));

ただし、デバッガーを開くと、奇妙なことがわかりましたchars

[–,ö,–,æ,—,Ä,–,∞,–,±,–,ª,—,å]それ以外のКорабль

ファイルは UTF-8 形式であるため、これは問題ではありません。ロシア語のロケールも設定しようとしました

    Locale locale = new Locale("ru");
    Locale.setDefault(locale);

これは役に立ちません。

PS: Android Studio を IDE として使用しています - おそらくこれが問題です

4

1 に答える 1

5

多くの場合、誤解を招く可能性があるため、次の手順を実行します。

  1. .java ファイルのエンコーディングは、無料のJEditなどのエディタで確認できます。
  2. また、IDE または を使用して、コンパイラのエンコーディングを設定する必要がありますjavac -encoding UTF-8
  3. 試してみてください"\u041a\u043e\u0440\u0430\u043b\u044c"。これは、エディタに依存しない の表現であり"Корабль"、実行時に .java が正しくエンコードされたかどうかを確認できます。
于 2013-07-25T21:39:07.407 に答える