我对Java和Android都很陌生。

我正在尝试使用俄语字符初始化String

    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-可能是这个问题

最佳答案

通常很多情况会产生误导,因此请执行以下步骤:

  • 您可以使用免费JEdit之类的编辑器检查.java文件编码。
  • 另外,还必须通过IDE或javac -encoding UTF-8设置编译器编码。
  • 尝试"\u041a\u043e\u0440\u0430\u043b\u044c"。这是"Корабль"的独立于编辑器的表示形式,可让您查看.java是否在运行时正确编码。
  • 08-07 01:09