- - PR -
UNIXでの文字化けについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-02-27 20:24
皆様、初めまして。
現在、EJBの作成を行っています。 プログラム中でjava.util.logging.*を使用してログ出力を行っているのですが、 Windows上では正しく出力されるのですが、UNIX上で動作させると全角文字が 「???」と表示されます。 処理は以下のように行っています。 =========================================================== private Logger logger = Logger.getLogger("XXX"); private FileHandler fh = null; fh = new FileHandler(LOGFILE + "_%g.log", 1400000, 3, true); fh.setFormatter(new SimpleFormatter()); logger.addHandler(fh); logger.setLevel(Level.INFO); logger.log(Level.INFO, "テスト"); =========================================================== fh.setEncoding("8859_1"); を追加してみたり、文字コードをJISAutoDetect、ISO2022JP、8859_1としてみましたが、 文字化けは解消しませんでした。 対策がありましたらご教授頂けるでしょうか。 実行環境は、 クライアント:Windows2000Pro(SP4)、J2SE 1.4.2.07 サーバ:HP-UX11.23、J2EE 1.3 となります。 宜しくお願い致します。 | ||||||||
|
投稿日時: 2006-02-28 12:09
どうやって表示させたのですか? もし端末上で表示させたのであれば、端末の文字コードは 何になっていますか?
これらが何を指しているか理解されているでしょうか。8859_1は日本語に対応した文字コード ではありませんので、文字化けして当然です。HP-UXであればおそらくEUCかシフトJISでしょう から、EUC-JPもしくはShift_JISを指定してみたらどうでしょうか。 | ||||||||
|
投稿日時: 2006-02-28 17:48
ukさん、ありがとうございます。
表示は、UX上に出力されたログファイルをFTPで開発用クライアントに取り込み エディタで確認しました。 8859_1を指定したのは、System.getProperty("file.encoding")で8859_1が 返って来たので、ファイルハンドルも同じコードに合わせれば文字化けが解消する と考えたからです。 現在、開発環境の不具合で確認が行えないのですが、整い次第、EUC-JPとSJISで 試してみたいと思います。 | ||||||||
|
投稿日時: 2006-02-28 17:59
ログファイルの文字コードを何にするか、ということは決まっていないのでしょうか。 まずはそこから確認する必要があると思うのですが。実際の運用に関わることですから、 現在とにかく見られれば良い、ということはないと思います。 | ||||||||
|
投稿日時: 2006-03-01 15:56
検証が遅くなりました。
ukさんのアドバイス通り、SJISを試したところ上手く出力されました。 EUC-JPについては既に試していて上手くいかなかったため8859_1のような 訳の分からない事まで試し、途方に暮れていた次第です。 運用上は、Windowsマシンに取り込んでエディタで確認できれば良いという 仕様しか決まっていないため、SJISで出力しようと思います。 ありがとうございました。 |
1