web-dev-qa-db-ja.com

Java、Antエラー:Cp1252をエンコードするためのマッピングできない文字

私はプロジェクトでJava、Eclipse、およびAntを使用しています。いくつかのJavaコードを編集してUTF-8文字を追加する必要がありました。以前はbuild.xmlにありました:それはうまくいきました。実行しようとすると、「エラー:Cp1252をエンコードするためのマッピングできない文字」がスローされます

誰が修正内容を教えてもらえますか? xmlでエンコードをUTF-8とCp1252に変更しようとしましたが、運がありませんでした。

JRE7、Eclipse Kepler、およびAnt 4.11を使用しています。

11
user2666282

これは、単に「アドバタイズされた」エンコーディングを変更しても、ファイル内にUTF-8解釈を使用して理解できないバイトがあるという事実を補うことは難しい場合があります。 Antでは、javacタスクを更新して、<javac ... encoding="utf-8">

一部のcp1252文字もUTF-8に直接マッピングされないため、EclipseのファイルエンコーディングもUTF-8であることを確認してください。おそらく、単一のエンコーディングを使用してプロジェクト全体を維持する必要があります。それ以外の場合、コンパイラは1つのエンコーディングのみを想定しているときに、異なるエンコーディングを認識します。

16
Matthew M

ANT_OPTS(またはJava_TOOL_OPTIONS)という環境変数を-Dfile.encoding=UTF8に設定してみてください。

6
Andrea Luciano

私のプロジェクトの1つで同様の問題がありました。一部のファイルにはUTF-8文字が含まれており、Eclipseのデフォルトエンコーディング-cp1252により、このエラーでビルドに失敗しました。

この問題を解決するには、以下の手順に従ってください-

  1. EclipseプロジェクトレベルでエンコーディングをUTF-8に変更します(プロジェクトプロパティ->「テキストファイルエンコーディング」->「その他」オプションを選択->ドロップダウンから「UTF-8」を選択)
  2. 値「UTF-8」でantビルドスクリプトにjavacタスクのエンコーディング属性を追加します

コード/ファイルで使用されている特殊文字に従ってエンコードタイプを設定します。

4
Gopi

EclipseのRUN/DEBUG設定の共通タブに移動して、エンコーディングをUTF-8に変更します。

Change encoding

1
false9striker

[ウィンドウ]> [設定]> [全般]> [コンテンツタイプ]で、すべてのコンテンツタイプのデフォルトエンコーディングとしてUTF-8を設定します。

[ウィンドウ]> [設定]> [一般]> [ワークスペース]で、[テキストファイルのエンコード]を[その他:UTF-8]に設定します。

0
StinkyMadness