私はUbuntu 13.10を使用しており、結果をファイルに出力するプログラムをEclipseで書いています。私は文字を使ってコードに変換するLZW圧縮と解凍プログラムを構築しています。コンソールでは、すべてがうまく出力されます。ただし、出力をファイル(something.txt)にリダイレクトしようとすると、次のような結果が得られます。
お問い合わせ
{編集する}
cat something.txt は以下を表示します。
アバ........b......
locale
説明する:
LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_CTYPE="en_US.UTF-8" LC_NUMERIC=en_GB.UTF-8 LC_TIME=en_GB.UTF-8 LC_COLLATE="en_US.UTF-8" LC_MONETARY=en_GB.UTF- 8 LC_MESSAGES="en_US.UTF-8" LC_PAPER=en_GB.UTF-8 LC_NAME=en_GB.UTF-8 LC_ADDRESS=en_GB.UTF-8 LC_TELEPHONE=en_GB.UTF-8 LC_MEASUREMENT=en_GB.UTF-8 LC -8LC_ALL=
ここで、ababbababaaabは私のプログラムの入力であり、出力はこれらの文字の一部のASCII番号でなければなりません。
端末でエンコーディングを変更してみましたが、何も変更されませんでした。何が問題なのか知っていますか?
答え1
PrintWriter
私のファイルに書き込むUTF-8
のではなく、そのパラメータを有効にして設定すると問題がなくなりました。DataOutputStream
(Java)