- PR -

@

1
投稿者投稿内容
斎藤
会議室デビュー日: 2002/10/28
投稿数: 5
投稿日時: 2002-10-28 12:06
斎藤です。
度々、質問させて頂きます。

例によって、現在
XML -> XSL-FO -> PDF で処理しています。

結果として日本語も処理していますが、このときのXMLファイル内にある特定の文字があると文字化けをしてしまいます。
それらは、@ <-(マルイチ)などの文字です。
xslファイルには以下のように日本語扱いの指定をしております。

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" language="ja">

xmlファイル内に &#x2460; <-(文字コード) として指定するとうまく処理されるのですが、そのまま@を指定すると、うまく処理されず文字化けしてしまいます。

これらを解決する手段は何かあるのでしょうか。
ちなみに、ファイルは Shift_jis として保存してあります。
どなたか、ご存知の方がいらっしゃいましたらお願いします。

斎藤
斎藤
会議室デビュー日: 2002/10/28
投稿数: 5
投稿日時: 2002-10-28 12:08
自己レスです。

件名に 「@ <-(マルイチ)の扱いについて」と入れたのですが、<- 以降無視されてしまったようです。スミマセン。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2002-10-28 13:01
機種依存文字ですよね。Macのブラウザなんかでこのページを見ている方には、@(○の中に1が入ってます)がどう見えているのか心配ですが・・・。
XMLの元データがプログラムを介して生成されているのであれば、その段階で&#x2460に変換してしまうのは如何でしょうか。最も安全というか確実に出来る方法だと思います。XSLTのtranslate関数で対応できれば
translate(XMLノード,'@','&#x2460')
みたいにできたりして。
自分でも試してみます。
しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 2002-10-29 04:36
XML の仕様に依れば、Shift_JIS では機種依存文字は扱えてはいけないようです:b
IANA 的には、Windows-31J であれば扱えるはず、ですが、
Windows-31J をサポートしている XML/XSL 処理系がどれくらいあるかは怪しいです。

# j2sdk 1.4.1_01 内蔵の xalan はダメだったので報告済み。
# jakarta で配ってる xalan は Encodings.properties だかに細工すれば動くとのこと。
ぷりっく
会議室デビュー日: 2002/09/18
投稿数: 5
投稿日時: 2002-10-29 10:35
>機種依存文字ですよね。Macのブラウザなんかでこのページを見ている方には、
>@(○の中に1が入ってます)がどう見えているのか心配ですが・・・。

Macの場合は、○の中に曜日が入ります。日曜日から始まります。土曜日まで。
その後は別の文字に置き換わります。

#文字を見るたびに「あ、この人Windowsしか知らないな」と思っています(笑)。
#と、同時に物悲しくなったりします。。。

斎藤
会議室デビュー日: 2002/10/28
投稿数: 5
投稿日時: 2002-11-11 09:25
ぷりっくさん、しょむさん、小僧さん、書き込みありがとうございます。
私の書き込みが大変遅くなってしまいました。

さすがに、Windows機種依存文字の指定なんて事は無理のようですね。
色々と調べましたが、(マルイチ)の文字のみではなく、他にも機種依存文字があるので、XMLにする前に変換したほうが効率が良いのかと・・・
XMLに変換する際に、他のプログラミングで変換することは可能なのですがイマイチスマートでは無いような気がしてまして。

小僧さんの教えてくださったtranslateの関数で何とか文字コード範囲の指定なんか出来たらよさそうですが・・・

一先ず、皆様ありがとうございました。
1

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