UTF-8で保存して,「※」とか「〒」とかが豆腐になる
UTF-8でファイルを保存しているのですが,ファイルが上記文字を含んでいる場合,
再度そのファイルを開くと,豆腐文字になっているのを,最近気づいたのれす。
おそっ。
解決策
以下を.emacsに追記することで,豆腐文字を回避できます。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; U+0080 - U+2E7F の文字を CJK にデコード ;; http://nijino.homelinux.net/emacs/utf-cjk.html ;; JIS拡張漢字(JIS X 0213) ;; http://www.asahi-net.or.jp/~ax2s-kmtn/ref/jisx0213/jisx0213-1.html (utf-translate-cjk-set-unicode-range '((#x00a2 . #x00a3) ; ¢, £ (#x00a7 . #x00a8) ; §, ¨ (#x00ac . #x00ac) ; ¬ (#x00b0 . #x00b1) ; °, ± (#x00b4 . #x00b4) ; ´ (#x00b6 . #x00b6) ; ¶ (#x00d7 . #x00d7) ; × (#X00f7 . #x00f7) ; ÷ (#x0370 . #x03ff) ; Greek and Coptic (#x0400 . #x04FF) ; Cyrillic (#x2000 . #x206F) ; General Punctuation (#x2100 . #x214F) ; Letterlike Symbols (#x2190 . #x21FF) ; Arrows (#x2200 . #x22FF) ; Mathematical Operators (#x2300 . #x23FF) ; Miscellaneous Technical (#x2500 . #x257F) ; Box Drawing (#x25A0 . #x25FF) ; Geometric Shapes (#x2600 . #x26FF) ; Miscellaneous Symbols (#x2e80 . #xd7a3) ; East Asian Scripts (#xff00 . #xffef)))
メモメモ
該当文字は,どうやら,JISX0213なるカテゴリ?に含まれるようだ。
別名JISX拡張漢字。漢字ではないが,いいのか?
で,上記(http://www.asahi-net.or.jp/~ax2s-kmtn/ref/jisx0213/jisx0213-1.html)の
表で,件の文字を調べてみると,
- 「※」: 203B となり,上記のGeneral Punctuationの範囲。
- 「〒」: 3012 となり,上記のEast Asian Scripts
とな。ふむふむ,たしかに範囲にはいってまんな。
General Punctuation(一般句読点)はともかく,西アジアスクリプトとはなんぞや?
http://inamidst.com/stuff/unidata/ から抜粋。
# U+0080 to U+00FF: Latin-1 Supplement # U+0100 to U+017F: Latin Extended-A # U+0180 to U+024F: Latin Extended-B
うーん,察するに,範囲がかぶっていて,Latin-1 Supplementとして判断されてしまうから,
それを,CJK(Chinese,Japanese,Korean)の範囲にtranslateするという感じかな?
といっても,おじさんUnicodeとUTF8の違いとかわかりまへんので,
もっそい勘で書いています。
とりあえず,これで豆腐文字については,解決された。
しかしこのとき,whitypigさんは,あらたな別の問題が,
潜伏していようとは気づきもしなかった。
というか,気づいた。
半角カナが豆腐になります。
・・・。
別日に調べまんがな。