私はプロジェクトでJava、Eclipse、およびAntを使用しています。いくつかのJavaコードを編集してUTF-8文字を追加する必要がありました。以前はbuild.xmlにありました:それはうまくいきました。実行しようとすると、「エラー:Cp1252をエンコードするためのマッピングできない文字」がスローされます
誰が修正内容を教えてもらえますか? xmlでエンコードをUTF-8とCp1252に変更しようとしましたが、運がありませんでした。
JRE7、Eclipse Kepler、およびAnt 4.11を使用しています。
これは、単に「アドバタイズされた」エンコーディングを変更しても、ファイル内にUTF-8解釈を使用して理解できないバイトがあるという事実を補うことは難しい場合があります。 Antでは、javac
タスクを更新して、<javac ... encoding="utf-8">
一部のcp1252文字もUTF-8に直接マッピングされないため、EclipseのファイルエンコーディングもUTF-8であることを確認してください。おそらく、単一のエンコーディングを使用してプロジェクト全体を維持する必要があります。それ以外の場合、コンパイラは1つのエンコーディングのみを想定しているときに、異なるエンコーディングを認識します。
ANT_OPTS(またはJava_TOOL_OPTIONS)という環境変数を-Dfile.encoding=UTF8
に設定してみてください。
私のプロジェクトの1つで同様の問題がありました。一部のファイルにはUTF-8文字が含まれており、Eclipseのデフォルトエンコーディング-cp1252により、このエラーでビルドに失敗しました。
この問題を解決するには、以下の手順に従ってください-
コード/ファイルで使用されている特殊文字に従ってエンコードタイプを設定します。
EclipseのRUN/DEBUG設定の共通タブに移動して、エンコーディングをUTF-8に変更します。
[ウィンドウ]> [設定]> [全般]> [コンテンツタイプ]で、すべてのコンテンツタイプのデフォルトエンコーディングとしてUTF-8を設定します。
[ウィンドウ]> [設定]> [一般]> [ワークスペース]で、[テキストファイルのエンコード]を[その他:UTF-8]に設定します。