- PR -

丸数字の取り扱いについて

1
投稿者投稿内容
Rika
会議室デビュー日: 2005/01/06
投稿数: 16
投稿日時: 2005-08-17 14:33
XMLファイルを読み込み、構造を変換してから再びファイルに出力するツールを作成しています。

XMLファイルのテキスト部分に丸数字がある場合、読み込み時に文字化けし、出力時にencordingでShift_JISを指定しても元に戻りません。本来「@」と出力されるべき文字が「�@」と出力されてしまいます。
どのようにすれば正しく丸数字を出力することができるのでしょうか?

皆さま、お力添えよろしくお願いいたします。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2005-08-17 16:41
その「ツール」とは、一体何を使って作ったものでしょうか。
また、元のファイルはどんなエンコーディングで、「読み込み時に文字化け」しているのは
どのように確認したのでしょうか。
Rika
会議室デビュー日: 2005/01/06
投稿数: 16
投稿日時: 2005-08-17 17:24
説明が足りず申し訳ありません。

ツールはJAVAで作成しています。
読み込み元ファイルのエンコーディングはShift_JISで、読み込み時の文字化けはデバッグ中に変数の値を参照して確認しました。

スフレ
ぬし
会議室デビュー日: 2005/05/27
投稿数: 281
お住まい・勤務地: 東京
投稿日時: 2005-08-17 18:49
Shift_JISには「まる1」の文字は存在しないので、化けるのは必然です。

読み込むXML文書のXML宣言の encoding="Shift_JIS" の部分を encoding="Windows-31J" に書き換えるか、ツールで new InputStreamReader(..., "Windows-31J") としてReaderにしてパーザに渡し、
出力時も Windows-31J にする必要があります。
Rika
会議室デビュー日: 2005/01/06
投稿数: 16
投稿日時: 2005-08-18 19:02
教えていただいたとおり、変換が終了したファイルをもう一度読み込んでから Windows-31J で出力しなおしたところ、正しく丸数字を出力することができました。

ありがとうございました。
また機会がありましたら、よろしくお願いいたします。
1

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