1

java を使用してテキスト ファイルを読み取っていますが、このファイルにはYen(¥). ファイルの読み取り中にエンコーディング/文字セットを指定しておらず、Windows で正常に動作しています。しかし、同じものを UNIX マシンにデプロイすると、¥「 」に置き換えられ?ます。この問題を回避するために、charset windows-1252 を指定します。ボックスでwindows-1252動作しますか? unix/linuxUNIX ボックスの文字セットが「utf-8」に設定されています。以下のコードを使用しています:

LineIterator iterator =FileUtils.lineIterator(*filename*,"Windows-1252");
4

2 に答える 2

2

このクラスStandardCharsetsは、「Java プラットフォームのすべての実装で使用できることが保証されている」エンコーディング/文字セットのリストを提供します。

このリストには Windows エンコーディングは含まれていませんが、Windows、Mac、および Linux 上のほとんどの一般的な Java バージョンCp1251が利用可能です。

UnsupportedCharsetExceptionorが使用できない場合は取得されることに注意してください。UnsupportedEncodingExceptionしたがって、上記のコードは安全です (ゴミを生成しないという意味で)。

本当に安全にしたい場合、一般的なアプローチは、プロジェクトで UTF-8 でエンコードされたデータのみを使用することです。

于 2013-09-25T10:21:20.527 に答える