[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

UTF-8 で「×」が文字化け



水口@京都 と申します。

Netinstall した Meadow-3.00-dev で coding-system を UTF-8 にしていると、
いろいろ問題にあたります。

.emacs 中では以下の様にしています。 これが悪いのかも知れませんが、由来
は忘れてしまいました。

(require 'un-define)
(setq bitmap-alterable-charset 'tibetan-1-column)
(require 'jisx0213)
(set-language-environment "Japanese")


できれば『×』の問題は解決したいのですが、可能でしょうか?


=====================================================================
1 『×』の問題

『×』は全角のバツ印(または乗算記号)で、U+D7・C397(UTF-8)・817E(sjis)・
A1DF(euc) で、文字コードの変換まわりがうまく動いていない様に見えます。

再現手順は以下のとおりです。

1 find-file で適当な新規ファイルに visit する。

2 buffer-file-coding-system を utf-8 にする。

3 『×』を入力または yank する。 全角で表示されるのを確認。

4 hexl-mode して、× が C397 という UTF-8 コードになっているのを確認。

5 不具合1: text-modeに戻す。 すると、注目文字が半角幅で「x」に似た文字
  に化けている。 (U+D7 を含む UTF-8のファイルを開いても同じです)

6 不具合2: その文字を kill-ring-save して UTF-8ページ表示中の
  InternetExplorer に貼り付けると、『・』(全角の中点 U+30FB) に化ける。

# http://www.eva.hi-ho.ne.jp/cgi-bin/user/zxcv/decodeUTF8.cgi で試せま
# す。

buffer-file-coding-system が sjis のときは、不具合1・2 とも起りません。


=====================================================================
2 機種依存文字(???)の問題

CP932(MS-SJIS) の FA61 という文字は、人偏付の「吾」です。 機種依存文字
の様ですが、U+4FC9 として Unicode にあります。 UTF-8エンコードすると
E4BF89 です。

http://www.eva.hi-ho.ne.jp/cgi-bin/user/zxcv/decodeUTF8.cgi?req=hex&hex=E4BF89

これを buffer-file-coding-system が utf-8 の Meadow バッファに yank す
ると、画面表示が『u'a』(u と ' は一文字)になります。 hexl-mode でコード
を見ると C3BA61 です。 (U+FA U+61)

http://www.eva.hi-ho.ne.jp/cgi-bin/user/zxcv/decodeUTF8.cgi?req=hex&hex=c3ba61


他に U+5FDE・E5BF9E(UTF-8)・FABB(CP932) は 「文」の下に「心」で、似た事情です。

                                                  よろしくお願いします。
--
水口 元彦 (みなくち もとひこ)
zxcv3794@xxxxxxxxxxxxxxxxx