非常に率直な質問です。BOMの有無にかかわらずutf-8でエンコードされたテキストファイルを処理するようにEclipseを構成する方法はありますか?
これまで、utf-8エンコーディングでEclipseを使用してきましたが、BOMを含む別のエディターで生成されたファイルを編集しようとすると、Eclipseが適切に処理せず、「非表示の文字が表示されます」ファイルの先頭(BOM)。EclipseにBOMを使用してutf-8でエンコードされたファイルを認識させる方法はありますか?
非常に率直な質問です。BOMの有無にかかわらずutf-8でエンコードされたテキストファイルを処理するようにEclipseを構成する方法はありますか?
これまで、utf-8エンコーディングでEclipseを使用してきましたが、BOMを含む別のエディターで生成されたファイルを編集しようとすると、Eclipseが適切に処理せず、「非表示の文字が表示されます」ファイルの先頭(BOM)。EclipseにBOMを使用してutf-8でエンコードされたファイルを認識させる方法はありますか?
バグ78455(「UTF-8ファイルへのBOMの書き込みを強制するオプションを提供する」)とバグ136854はどちらも、そのようなオプションに大きな期待を寄せていません。
ワークスペースでのエンコーディングのサポートは、Javaから利用できるものに基づいています。
ワークスペース内の任意のリソースについて、文字セット文字列を受け取る任意のJavaAPIで使用できる文字セット文字列を取得できます。
例は次のとおりです。
- '
US-ASCII
'、- '
UTF-8
'、- '
Cp1252
'、- '
UTF-16
'(ビッグエンディアン、BOMが自動的に挿入されます)、- '
UTF-16BE
'(ビッグエンディアン、BOMは自動的に挿入されません)、- '
UTF-16LE
'(リトルエンディアン、BOMは自動的に挿入されません)。Javaエンコーディングの場合、「UTF-16」エンコーディングを除いて、BOMは無料で挿入(書き込み時)または破棄(読み取り時)されません。
これがエンドユーザーにとって不可解であるとしても、これがすべてのJavaアプリケーションの動作方法です。
アプリケーションがユーザーの期待に一致するBOMを使用したUTF-8ファイルの作成をサポートする場合は、そのような機能を独自に提供する必要があります(JavaもResourcesモデルもそれを支援しないため)。
Eclipseは、BOMの検出に向けていくつかの改善を提供しますが、BOMを生成またはスキップすることはできません。