- PR -

パース処理で、ローマ数字が文字化け

1
投稿者投稿内容
T.S
会議室デビュー日: 2005/08/03
投稿数: 5
お住まい・勤務地: 大阪
投稿日時: 2005-08-03 16:41
Javaでローマ数字『T』の設定されたXML文書をパースすると
メモリ上でローマ数字が文字化けします。

【例】
<element id="accident">T.問題</element>
^^
上記の下線部分がXML文書からDOMに展開後、メモリ上で文字
化けします。
あと、『@A』などの文字も化けます。

どなたか、解決策を教えて下さい。
スフレ
ぬし
会議室デビュー日: 2005/05/27
投稿数: 281
お住まい・勤務地: 東京
投稿日時: 2005-08-03 17:19
もしその文書が
<?xml version="1.0" encoding="Shift_JIS"?>
と宣言されているなら、化けて当然です。Shift_JISにそれらの文字がありません。

encoding="Windows-31J" などに変更すれば正しく読めるかもしれません。
T.S
会議室デビュー日: 2005/08/03
投稿数: 5
お住まい・勤務地: 大阪
投稿日時: 2005-08-03 18:13
エンコード指定は、『EUC-JP』です。

機種依存文字(@、Aなど)を文字化けさせない方法
があれば教えて下さい。
スフレ
ぬし
会議室デビュー日: 2005/05/27
投稿数: 281
お住まい・勤務地: 東京
投稿日時: 2005-08-03 18:48
EUC-JPにももちろんそれらの文字は存在しないので、そのXMLを生成した人・プログラムを正してください。

それが無理とか時間的に間に合わない場合は、ご自分で「範囲チェックなしでEUC-JPからシフトJIS系に変換するプログラム」を(Javaのエンコーディング機能を使わずに)書いて、それで変換してからWindows-31Jとして読ませれば何とかなると思います。
1

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