◀一般トップへ
  • 7312 unicode版で表示できないSJIS文字、他
    • 7315 Re:unicode版で表示できないSJIS文字、他
  • [7312] unicode版で表示できないSJIS文字、他 匿名 2011年02月09日 00:13

    質問1

    従来版(v1.6.5.0)では表示できるのに、
    unicode版(rev1860)で表示できない文字
    があることに最近気づきました。

    例えば、数学記号のルートという記号は
    次の2つがあります。

    区 点 JIS SJIS EUC UTF-8 UTF-16 字
    02 69 2265 81E3 A2E5 E2889A 221A √
    13 85 2D75 8795 ADF5 ------ ------ √
    (参照先: http://ash.jp/code/unitbl21.htm)

    ここで、v.1.6.5 と unicode版で次の違いがあります。
    1) v1.6.5 で、 SJISコード8795の記号√を書いた
    テキストファイルを作成する。
    v1.6.5 では正しく表示される
    2) 同じテキストをunicode版で開くと文字化けする。


    unicode版とはいえ、「SJISで開く」というモード
    があるのになんで文字化けするの?という気がしますが、
    これは仕方がないものでしょうか?


    質問2:
    上記とは逆のシチュエーションですが、
    unicodeにあってSJISにない文字を、
    SJISで保存しようとすると
    「文字エンコードSJISで保存しょうとしていますが、
    文字コード変換により一部の文字情報が失われます」
    という警告メッセージがでますが、
    このとき、実際にどの文字が文字化けする可能性があるか
    を知る手段はないでしょうか?

    よろしくお願いします。
    • [7315] Re:unicode版で表示できないSJIS文字、他 Coward 2011年02月09日 11:15

      > 区 点 JIS SJIS EUC UTF-8 UTF-16 字
      > 02 69 2265 81E3 A2E5 E2889A 221A √
      > 13 85 2D75 8795 ADF5 ------ ------ √
      > (参照先: http://ash.jp/code/unitbl21.htm)

      SJIS 8795 には対応する UTF-16 文字がありませんね。
      81E3 と同じ 221A に変換して内部保持するようにすれば、
      表示は化けないと思いますが、上書き保存すると
      元の 8795 ではなく81E3 になってしまうと思います。
      メモ帳や他の内部UNICODEエディタの多くはそうなる
      みたいです。

      サクラでは上書き保存しても中身が変わらないように
      していて、その代償として表示のほうを諦めているの
      ではないかと思います。

      ANSI版でも似たような話('~'記号など)は昔からあって、
      表示を諦めてでも中身を壊さないで欲しいという要望
      のほうがいつも優先されているような気がします。
      http://sakura.qp.land.to/?FAQ%2F24

      > 1) v1.6.5 で、 SJISコード8795の記号√を書いた
      > テキストファイルを作成する。

      僕の環境では v1.6.5 でもそのようなファイルを作成
      することができません。
      IME パッドから 8795 を指定しても 81E3 が入ります。
      ATOK 文字パレットからの 8795 指定でも 81E3 が入ります。
      (もちろんバイナリエディタなら 8795 入力できますけど)
      8795 に関しては普通には入力できない気がするので
      問題ないのでわ?
      他にどんな文字が表示できないか知りませんが、それも
      いわゆる機種依存文字(使用は非推奨)に含まれる文字
      のうち、ごく一部の文字ではないかと。

      > unicode版とはいえ、「SJISで開く」というモード
      > があるのになんで文字化けするの?という気がしますが、

      ANSI版とはいえ、「Unicodeで開く」というモード
      があるのにSJIS範囲外文字が文字化けするのと同じ
      だと思いますけど。

      > このとき、実際にどの文字が文字化けする可能性があるか
      > を知る手段はないでしょうか?

      今のところその手段はなさそうな気がしますね。