java - 文件以 UTF-8 格式保存,但俄语中有奇怪的符号

标签 java android android-studio

我对 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));

但是,当我打开调试器时,我看到了一些奇怪的字符

[–,ö,–,æ,—,Ä,–,∞,–,±,–,ª,—,å] 而不是 Корабль

文件是 UTF-8 格式,所以这不是问题 我还尝试设置俄语语言环境

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

这没有帮助。

PS:我正在使用 Android Studio 作为 IDE - 可能就是这个问题

最佳答案

很多时候很多都是误导性的,因此采取以下步骤:

  1. 您可以使用免费的 JEdit 等编辑器检查 .java 文件编码.
  2. 还必须通过 IDE 或使用 javac -encoding UTF-8 设置编译器编码。
  3. 尝试 “\u041a\u043e\u0440\u0430\u043b\u044c”。这是 "Корабль" 的独立于编辑器的表示,可让您查看 .java 是否在运行时正确编码。

关于java - 文件以 UTF-8 格式保存,但俄语中有奇怪的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17868856/

相关文章:

java - 将时间设置为 00 :00:00

java - HTTP 状态 500 - java.lang.ClassNotFoundException : org. apache.jsp.index_jsp

android - 是否可以通过 MediaRecorder 或其他类获取当前样本幅度

android - 如果从图库中选择了图像,则将文本设置为 TextView

android - 错误 :No resource found that matches the given name (at 'minHeight' with value '?attr/actionBarSize' )

java - 客户端在不接受的情况下连接到 ServerSocket - 为什么?

java - 形参类型声明中 double... 和 double[] 的区别

java - 从 Parse.com 获取当前时间与添加时间之间最多相差 1 小时的条目

Android M - 运行时权限。是否可以一键获取应用程序所需的所有权限?

安卓工作室 : Emulator shows no UI