中国語の文字化けを回避する方法

/web/html-css

Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。

ダンボール肉まんだとか島がネズミに完全征服されたとか水を飲ませたニワトリがお逝きになったとか、なにかと話題の尽きない中国ですが、(周期的にそろそろ革命が起きそうだとかいう話は置いといて)そんな愛すべき隣国をネタに紹介するときに便利なテクニック。

知ってのとおり、中国は漢字文化です。2バイト文字に悩まされることが多い我らが日の本に輪を掛けて難しそ~な感じがゴロゴロしてます。Wordで表示されてるからといって安心してはいけません。コピペでWebに上げたとたん、文字化けします。そんな時どうするか。

  1. HTMLの数値文字参照を使用する
  2. 表示する文字列の言語を明示する
  3. Unicodeフォントを明示的に指定する

でFirefoxのみ(Opera限定対応)、でOperaに対応、までやってIE対応です。IEはきちんと指定してやらないと、フォントに含まれてる文字を全ては参照してくれない。ちなみにMacだと、ヒラギノProに(文字コードで運用する必要性の高い)かなりの文字が含まれているため、素の状態でも割といけるみたい。さすがMacはフォントに強いね。

Sample

窝とか盏とか图とか阁とか

HTML

  1. <span lang="zh" class="unicode">&#31389;とか&#30415;とか&#22270;とか&#38401;とか</span>

ユニコードの数値参照は幾つかのアプリケーションで調べることができる。

CSS

  1. .unicode {
  2. font-family:'TITUS Cyberbit Basic', 'Code2000', 'Doulos SIL', 'Chrysanthi Unicode', 'Bitstream Cyberbit', 'Bitstream CyberBase', 'Bitstream Vera', 'Thryomanes', 'Gentium', 'GentiumAlt', 'Visual Geez Unicode', 'Lucida Grande', 'Arial Unicode MS', 'Microsoft Sans Serif', 'Lucida Sans Unicode', sans-serif;
  3. }

Unicodeフォントを羅列してみた。

Update

2007.10.19: 引用元の閉鎖を確認。変換ツールを当サイトに実装

2007.12.06: 引用元の復活を確認。変換ツールを別記事に分割

Note: スパム対策が面倒なので、コメント投稿を廃止しました。以前のコメントは残します。
ご意見・ご要望はtwitter@sigwygかはてブコメントにて。

2 Comments

李山 wrote:
他の方法として元ファイル(UTF-8)をxyzzyで開いて、
クリップボードエンコーディングに、中国語-Unicode [CN]を使用して、
文字化けした部分をコピピし直すと、表示される場合もあるかも。 2008–07–27 12:50
李山 wrote:
上記コメントは無視して下さい。
勘違いでした、私の環境(Opera 9.51)で文字化けが解消されたのはpreタグが関係していました。 2008–07–27 13:18