私はいくつかのpdfテキスト抽出を行っていました。問題に直面したシナリオのスクリーンショットを添付しました。
Eclipse コンソールが「仕様」という単語を出力できなかったのはなぜですか?
代わりに、「仕様」として印刷されます。
文字が重なっているのがわかります。
ただし、コードのデバッグ中に、同じテキストが「疑問符」なしで表示されます。
同じテキストをコンソールに出力する方法はありますか?
助けてください。
問題は、Unicode の単一文字である「fi」合字 (「重なり合う文字」) です。デバッグ ビューでは、テキストを描画するための Windows メソッドが使用されます。これらは Unicode を認識しており、合字を正しくレンダリングできます。
コンソール ビューは特定のエンコーディングを使用します。Windows で使用する場合、デフォルトは「cp1252」、Codepage 1252、または ISO 8859 です。これらのエンコーディングはこの特定の文字を認識せず、印刷できないため、疑問符が代わりに使用されます。
Window > Preferences
、General > Workspace
、を介して、一般的に Eclipse のエンコーディングを設定できますText file encoding
。どこでも UTF-8 を使用するのは良い考えだと思いますが、既存のファイルで問題が発生する可能性があります。
プロジェクト プロパティのカテゴリで、プロジェクトごとにエンコーディングを設定できますResource
。
コンソール ビューのエンコーディングを設定したいだけの場合、最も没入型のソリューションではありませんが、これは正確には直感的ではありません。コンソール ビューのエンコーディングは、プロジェクトの実行に使用するランタイム構成のプロパティです。Run > Run Configurations...
、実行構成Common
。
これらの方法のいずれかを使用してエンコーディングを UTF-8 に設定すると、合字がコンソール ビューに正しく出力されます。
もちろん、より一般的な設定は、より具体的な設定 (ワークスペース、プロジェクト、実行構成) によって上書きされない場合にのみ有効です。