0

問題

特殊文字の表示に問題があります。エンコーディングにエラーがあると言われました。私が持っているテストデバイスでアプリケーションを実行していますが、このエラーが発生することはありません。このエラーが発生した人は、同じデバイス モデルでアプリをテストしていますが、新しいファームウェア バージョンを使用しています。

「そのグリフは代替文字です。ファイルのエンコーディングをどこかで台無しにしました。正気を保つためにすべてを UTF-8 にする必要があります。」と言われました。それでも、私のデバイスでは問題なく動作します。

この種の問題に対する既知の修正方法はありますか。thnx!

編集- 以下は、中国のエンジニアによって書かれたコードをコピーしようとしたときに発生したエラーの画像です..このように以前に協力したことはありません.これがアプリのutfに反映される一般的な問題であるかどうかはわかりません. 8 エラーここに画像の説明を入力

4

2 に答える 2

1

うーん...なぜ.javaファイルで文字列を定義しているのですか? strings.xmlローカライズするには最終的に存在する必要がありますが、それが Android のやり方です。

strings.xmlファイルの先頭を見ると、次のような行があります。

<?xml version="1.0" encoding="utf-8"?>

これは、このファイルを消費するものは何でも、文字が UTF-8 としてエンコードされていることを示します (明らかに)。.java ファイルにそのような行はありません。ホストOSに依存するEclipseのデフォルトとしてエンコードされ、ほぼ確実にUTF-8ではありません。.java ファイルを保存すると、エンコーディング プロセスで特殊文字が失われます。

于 2012-09-24T16:09:38.537 に答える
0

簡単な解決策:常に使用しますstrings.xml

Java コードから文字列をロードすると、IDE (Eclipse?) が .java ファイルのエンコーディングをどのようにすべきか、および Java コンパイラが何を考えているかに応じて、文字列が破損する可能性があります。

私の Eclipse ワークスペースは、デフォルトで .java ファイルに Windows エンコーディング (CP1252) を使用します。ファイルのプロパティでエンコーディングを確認できます。これは、strings.xml ファイルの UTF-8 を正しく表示します。

于 2012-09-22T07:27:16.220 に答える