- PR -

log4j.xml でどのEncodingを指定しても日本語が文字化けする

1
投稿者投稿内容
so
会議室デビュー日: 2005/11/09
投稿数: 2
投稿日時: 2005-11-09 20:17
はじめまして。soと申します。

現在、log4jにてファイルにログ出力をしているのですが、
Encodingに何を指定しても、
出力する値の日本語部分が文字化けしてしまいます。

設定ファイルにはXMLを使用(log4j.xml)し、
クラスパス上に配置する方法をとっています。

・検証方法 ===================================
 1. 各エンコーディング毎にappender要素を作成し、
 2. logger要素内のappender-ref要素のref属性を切り替えて実行、
 3. そのつど生成されたログファイルの内容を調べる。

・検証結果(出力したログファイルより抜粋) ===================================
・Shift_JIS を指定した場合
  2005/11/09 17:33:15,DEBUG,taglib.WhenErrorTag.doEndTag(WhenErrorTag.java:79),test:・ニ・ケ・ネヘムハクサ??123
  2005/11/09 17:33:15,DEBUG,taglib.WhenErrorTag.doEndTag(WhenErrorTag.java:113),includesサリト?

・Windows-31J を指定した場合
  2005/11/09 18:41:40,DEBUG,taglib.WhenErrorTag.doEndTag(WhenErrorTag.java:79),test:・ニ・ケ・ネヘムハクサイ?123
  2005/11/09 18:41:40,DEBUG,taglib.WhenErrorTag.doEndTag(WhenErrorTag.java:113),includesサリト?

・UTF-8 を指定した場合
  2005/11/09 17:36:10,DEBUG,taglib.WhenErrorTag.doEndTag(WhenErrorTag.java:79),test:・・・・ス・・ケ・・・茨セ搾セ托セ奇スク・サ譏
so
会議室デビュー日: 2005/11/09
投稿数: 2
投稿日時: 2005-11-12 02:39
自己解決しましたので解決方法を報告いたします。

log4j.xmlの設定が原因かと思っていましたが、
単にJavaファイルのエンコードが
EUCになっていたことが原因でした。
エディタにてEUC→Shift_JISに変更したところ、
正常に日本語がログファイルに出力されました。

log4jの使用方法を勉強中だったため、
log4j.xmlのせいだと思い込み、
もっとも基本的なところを忘れていました・・・

お騒がせしました。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)