AndroidSutdio デバッグまたは Android レイアウトで UTF8 文字列を正しく表示できません。以下は私のコードです:
文字列 test1 = "hélǐ";
結果は test1 = helÇ� です。
test1 メモ帳++でANSIエンコーディングを使用してUTF8文字列を読み取るのと似ています。ただし、(Button.setHint() メソッドを使用する代わりに) XML レイアウトに直接ハードコードすると、hélǐ を正しく表示できます。
UPDATE 1 : 4 ではなく test1.length() = 6 であることを指摘してくれた Jon Skeet に感謝します。したがって、表示の問題ではありません。更新 2:「h\u00e9l\u012d」が正しい答えを返すことを指摘してくれた Joop Eggen に感謝します。したがって、それは AndroidStudio 関連の問題である必要があります。更新 4 : 変数 JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF-8 を追加して、そのコマンドを使用して javac を強制しますが、結果には影響しません。更新 5 : AndroidStudio を ubuntu にインストールし、コードをコピーして貼り付けると、そこでも正常に動作します。しかし、AndroidStudio Windowsでそれを修正するにはどうすればよいですか? (残念ながら、Windowsを使用する必要があります)
以前にその問題に直面したことのある人はいますか? \uコードを使用せずに修正する方法ありがとう
ノート:
- 私はAndroidStudioを使用しています
- Javac および Android DX コンパイラーに -encoding utf8 を追加しました
- 私の AndroidStudio では、すべてのファイルのエンコーディングが utf8 に設定されています (右下に utf8 が表示されます)。
- Charset.defaultCharset() は utf8 を返します
- InputStreamReader.getEncoding() は utf8 を返します
- すべての私の xml レイアウトには、一番上に utf8 フラグがあります
- メモ帳 ++ は、utf8 エンコーディングを使用したコピー/貼り付けの「hélǐ」を正しく読み取ります。