いえ、違うと思います>goosan この掲示板では、入力文字列を jcode::convert を使って EUC に 変換し、EUC コードで機種依存文字のチェックをしています。 で、jcode::convert は、SJIS の 0xFA40 (i) を 0xFAC0 に 変換するようですが、これは多分間違った結果ではないかと思います。 # EUC の扱える JIS X 0208 は 94区までしか定義されていないので、 # 間違っているという表現は不適切かもしれませんが。 で、EUC の 0xFAC0 は http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/89-90ku.html の `日春' という文字に相当するので、その文字が表示されている、 ってことだと思います。 で、mm さんはそれをコピーして http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=666 に書かれたので、`日春'`が自動変換され、「〓」となってしまった ということではないでしょうか。 さて、困ったなぁ。SJIS で 95区以降 (JIS X 0208 で 規定されていない部分) の入力があった場合どうするべきか。 …と悩んで調べてみたところ、 http://www.opengroup.or.jp/jvc/cde/sjis-euc.html > 注記: > ... > 3.NEC選定IBM拡張文字は,SJISから日本語EUCへの変換においては, > SJISでいったん IBM拡張文字に 変換してから日本語EUCに変換する. http://www.opengroup.or.jp/jvc/cde/ibmext-table.html のように、補助漢字 (JIS X 0212) に置換するのも一つの解な ようですね。ただ、少なくとも FreeBSD (X Window System) では JIS X 0212 フォントはオプショナルですし、Windows ではまず JIS X 0212 は使えないでしょうし (SJIS では JIS X 0212 は 使用できない)、現実的ではないかもしれません。 結局 jcode.pl を修正し、さらにブラウザが Windows なら SJIS で出力、UNIX なら EUC で出力、ってことになるのかなぁ。 # …なんかどんどん深みにはまっていってるような気が (笑) ところで、仮に mm さんが 91/92 区の i/viii を使っていたら 自動変換されたはずなのですが、mm さんがお使いの IME は 普通に i/viii を入力すると 115/116区のコードになって しまうんでしょうか? |