はてなで外国語

えー、「はてなダイアリーunicodeを!」と、ここのところわめき散らかしている酔漢です。
わめくだけではだめなので

を、調べようと思います。とりあえず、繁体中国語入力システムのIME PADを設定して中国語を入れようと試してみましたが、id:tinuyamaさんのご指摘どおり、コメントでしかうまくいきませんでした*1。これが?Dの問題なのか、それともIEの問題なのか、他の方はどうしているのか、じっくりと調べなければなりません。それまで皆さん暖かく見守っていただければと思います。
まずは実際に外国語を入力されている方に聞き取りを行う予定です。また、提案されている数値文字参照入力法も試して見ます。
つーか、「教えてはてなダイアリーの偉い人っ!!!!!」

*1:あんまり何度も試しましたので、ニイハオマ?を漢字で書けるようになりました

とりあえずビール

id:tinuyamaさんのところのコメントでid:Ctransさんが紹介なさっている
10進、16進文字コードin HTMLユニコードを使うと、中国語だけでなくunicodeで表記できる文字をすべて数値文字参照に変換できます。

  • 例:你好嗎

これを使ってはてなに好きな言語で入力し、編集する易しい解説を夜に書きます。

ヨーロッパの言葉の研究(メモ書き)

ヨーロッパの言葉は英語のアルファベットと文字が似ているため、十把ひとからげで「ヨーロッパ言語」として文字コーディングされる場合があります。この場合、特別なコーディング規則を使わずに1バイトで表現可能です。アイルランド語を書いていらっしゃるid:michealhさんによると、Windowsを使ってはてなに直接アイルランド語の文字を書き込むことが出来るようです(id:michealh:20040311)。さっそくWindowsXPに英語(アイルランド)キーボードのドライバを入れて実験してみました。michealhさんのページソースを見ると、きちんと数値文字参照が使われています。

  • Mozilla Firefoxでファダ付の文字を直接入力すると、1バイトの西ヨーロッパ文字として入力されます。これはEUC-jpのコーディングとしては違反ではないでしょうか。こうして入力したページはうまく表示されますが、IEで編集しようとするとぐちゃぐちゃに壊れました。おそらくFirefoxの問題です。
  • IEでファダ付の文字を直接入力すると、?Dに登録できませんでした。
  • 10進、16進文字コードin HTMLユニコードにファダ付文字を入力して数値文字参照に変換した後?Dのテキストエリアに貼り付けると、うまく表示されます。
  • ファダ付文字(アイルランド語):áíúéó

このことから、西ヨーロッパ言語のように英語に近い(と、私のような素人には見える)言語も、数値文字参照に変換して入力したほうがよいようです。

理屈はともかく多国語日記(日記を書く)*1

目次

  1. 理屈はともかく多国語日記(日記を書く) ←今日
  2. 文字化けをなくす
  3. <SPAN>と<div>の使い分け
  4. 国連憲章

はてなのシステムは英語と日本語の日記しか取り扱うことが出来ません。これはシステム上仕方のない制限です。しかし、WEBシステムの国際標準で定められている「数値文字参照」という機能を使うと、中国語、ハングル、アイルランド語フィンランド語、フランス語、イタリア語と主だった言語殆どで文章を書くことが出来ます。理屈はさておき、こういった言葉で日記を書きたい人のためにどうすれば日記を書くことが出来るか説明します。
さて、ここでは繁体中国語の例をとります。例は中国語ですが作業はどんな言葉でも同じです。日記の中に次のように書きたいとします。

「你好嗎」は「ご機嫌いかがですか」という意味です。

しかし、はてなダイアリーにこのとおり入力してもうまくいきません。中国語を書きたいときには次のように入力しなければなりません。

「&#x4F60;&#x597D;&#x55CE;」は「ご機嫌いかがですか」という意味です。

「你好嗎」という文字の列がまるで暗号のような文字の列になっています。これが数値文字参照と言われる記号です。さあ入力しましょう、
…ってこんなもの入力できるかぁっ!(ノ-o-)ノ~┻━┻
そこで、中国語から数値文字参照への変換ツールを使います。ツールは以下の「10進、16進文字コードin HTMLユニコード」を使います*1。作った方に感謝。

開いただけでくらくらしているそこのあなた!大丈夫、下に説明用の絵を用意しましたからこれを見ながら読んでください。

さて、絵を見ながら説明を進めましょう

  1. まず、画面の(1)の部分に中国語を書きましょう。ここでは「你好嗎」と書きます。テキストエディタに中国語を書いて、それをどんと貼り付けてもかまいません。
  2. つぎに(2)の「文字を10進、16進コードに変換する」ボタンを押します。
  3. すぐに結果が出ますので貧血で倒れる前に(3)の「コピー」ボタンを押します。これで数値文字参照をコピーできました。
  4. 最後に、はてなダイアリーの編集画面で、中国語を入れたいところに数値文字参照を貼り付けます。
  5. はてなダイアリーの「この内容を登録する」をクリックして終わり!

どうですか?そんなに難しくないですね。あん汁より芋が安し。試してみましょう。

*1:残念ながら、私のMozilla Firefox 0.8では使いませんでした。MS Internet Explorer 6.0では使えます

理屈はともかく多国語日記(日記を編集する)

日記を数値文字参照で書いたはいいが、修正したい点を発見…。さあどうする!と、いうときには次の手順を踏みます。

  1. まず日記を編集画面にしてテキストエリアから修正したい部分の数値文字参照をごっそりコピーします。
  2. 次に10進、16進文字コードin HTMLユニコードを開いて、下のURLの図の(1)の部分に数値文字参照を貼り付けます。
  3. 図の(2)のボタンをクリック!
  4. 図の(3)のボタンをクリック!…しなくていいな。ごめんなさい。

これで数値文字参照が中国語に戻ります。編集した後は、こんどは先ほどの日記を書くときの手順をたどって数値文字参照に戻します。

と、まぁこんな感じです。それほど難しくないです。

多国語処理に関するコメント

台湾の方が日本語で動作しているWEBシステムへの書き込みに関して興味深い言及をされています。

しかし、IE4・NN4からは多国語を対応しました。投稿のときもページのコードをチェックして、正確のコードでデータを送ります。該当のコードにない文字があれば、自動的に数値参照に転換するのは普通です。
つまりIEは自動に外字を数値参照に転換してくれますから、普通の場合ははてなのようにはじかれることが殆どありません。はてなだけトラブルがあるそうです。

面白い。経験に基づく意見だけに重みがあります。自分が持っている別サイトのBBSで実験をして見ました。確かにIEはShift-JISにない漢字を数値文字参照に変換して書き込みます。ところで、実験によるとWEBページがEUC-jpであっても正しく数値文字参照に変換していました。つまりIEは無実です*1
はてなには何かがあるように思えるのですが、一方で「EUC-jpやshift-jisの時だけ数値文字参照に変換する」というのはIE固有の機能ですので、これに頼りすぎるのも危険かなと思います。この点、判断がつきません。

*1:Mozilla Firefoxは無理やりUnicodeで書き込みます

/* -----codeの行番号----- */