エンコーディング

もしMacのFirefoxやCaminoで ①②③ が丸囲み数字ではなく !”# のように見えるなら,環境設定... → コンテンツ でデフォルトフォントを Osaka に変えてください。詳しくはこのページの下の方をご覧ください。Firefox 3で修正されたようです。

エンコーディング(encoding)とは,文字をバイト列で表す方法のことです。

日本語でよく使われるエンコーディングには次のものがあります。

従来は,WindowsではシフトJIS,UNIXではEUC-JPが広く用いられていました。しかし,これらは日本語に特化したエンコーディングであり,多国語を混在させるには制約があります。また,①②③のような丸囲み文字,ⅠⅡⅢのような全角ローマ数字(時計数字)などは規格外のため,機種依存性がありました。たとえばWindowsで①②③ⅠⅡⅢと書けば,Macでは㈰㈪㈫㈵㈼㈽(←機種によっては見えませんが(日)(月)(火)(特)(監)(企)のような括弧付き文字)と表示されてしまいました[ただし下のMac OS Xについての付記参照]。

UTF-8とUTF-16は,Unicode(ユニコード)のエンコーディングです。もともと多国語を表すために開発されたものですし,丸囲み数字や全角ローマ数字なども含まれていますので,上述の機種依存性はありません。特にUTF-8は,従来の7ビットASCIIと互換性があるので,たいへん便利です。2010年時点で世界中のWebページの半分はUTF-8になりました(Unicode nearing 50% of the web)。

これからはUTF-8の時代です。Windows 2000/XPの「メモ帳」でもUTF-8が使えます。積極的に使っていきましょう。UTF-8なら鄧小平(トウ小平),深圳(深セン),草彅(草なぎ)といった文字も書けます。

なお,丸囲み文字などを入力しにくい場合は,①②③ⅠⅡⅢなら ①②③ⅠⅡⅢ のように番号(数値文字参照)で書けばよいでしょう。このように書けば,文書全体のエンコーディングがシフトJISやEUC-JPでも,機種依存になりません。

もっとも,ローマ数字については,半角アルファベットでI,II,III,IV,……のように書くのが本来の書き方です。そもそもローマ数字というのはローマ字(英語のアルファベット)で綴った数字のことですから。少なくとも欧米の人に読んでもらう文書はローマ字でローマ数字を綴りましょう。

参考:文字→数値変換

Mac OS Xについての付記

新しいMac OS XはUnicodeベースであり,事情はかなり変わっています。アプリケーションごとにWindowsのCP932をエミュレートしたりしなかったりという感じです。例えばSafariは,Shift_JISではCP932対応していますが,ISO-2022-JPやEUC-JPでは◆に白抜きの?を重ねた記号を表示します。Firefoxは,昔からのOsakaフォントではShift_JIS,ISO-2022-JP,EUC-JPすべてでCP932対応していますが,新しいヒラギノフォントではたとえUTF-8を使っても本ページ冒頭で述べたように①②③ⅠⅡⅢなどが文字化けします(Firefox 3で直りました)。これを避けるため,2006-06-05以前はスタイルシートで

body { font-family: Osaka, "MS Pゴシック", sans-serif; }
code, pre { font-family: "Osaka−等幅", "Osaka-Mono", "MS ゴシック", monospace; }

などとしてOsakaが使われるようにしていましたが,Firefoxの設定で回避してもらうほうがいいので,2006-06-05から上記のようなフォント指定を外しました。

たとえOsakaを使うように設定しても,Firefoxはフォームのinputへの入力にヒラギノ明朝を使うようで,フォーム入力時に化けてしまいます[Thanks: 杉浦さん]。

(付記)Shift_JIS+Windows拡張文字をWindows-31Jあるいはcp932といいます(→Windows Codepage 932)。これに対応するEUC-JPの拡張はcp51932で,eucJP_msとは異なるようです(→ eucJP-ms と CP51932 の違い コードページ932/ウェブリブログ)[Thanks: 杉浦さん]。

(付記)Unicodeでは丸囲み数字や全角ローマ数字の機種依存性はなくなりますが,別の機種依存性が存在します。例えばWindowsで全角波線を入力すれば ~(U+FF5E,fullwidth tilde)になりますが,Windows以外では 〜(U+301C,wave dash)になります(An Unicode vendor-specific character table for japanese 参照)。Macではどちらも同じに見えますが,Windowsでは上下逆に見えます。Vistaではどちらも同じ字形になりました。

また,Unicodeでは「が」が「が」(か+U+3099 (combining katakana-hiragana voiced sound mark),「パ」が「パ」(ハ+U+309A (combining katakana-hiragana semi-voiced sound mark))などのようになることがあります。これについては小形克宏の「文字の海、ビットの舟」の「JIS X 0213とUnicodeの等価属性/正規化について」(上)(下)やUnicode Consortiumの資料UAX #15: Unicode Normalizationをご覧ください。


奥村晴彦

Last modified: 2011-08-02 21:56:50