186::Beta 旧「はてなダイアリーへの要望」を淡々と記録するよ@beta

2004-04-21

[][] http://d.hatena.ne.jp/da-yoshi/20040421#1082590784

外国語入力実験6

Mozilla Firefoxで、EUC-JPで中国語を色々入力してみると……変換できているものもありますね。「EUC-JPで中国語変換しない」というのは誤りみたいです。どうも、IEとはEUC-JPの解釈そのものが違うのかな? EUC-JPにも色々違いがあるって聞きますし。

どちらにしても……やはりこの機能はブラウザ実装の違いがあるので、互換性を保つことが難しく、はてなダイアリーがシステムとして受け入れるのは難しい気がします。これって、ブラウザの設定でオンオフ出来ないのかな?

てなわけで、自分もd:id:suikan:20040421さんのはてなダイアリーへの要望に賛成します。ココログのように、blog全体の文字コードにUTF-8を選べるのが、使う側としては最もやり易いとは思うんですけど、UTF-8は2バイト文字がでかくなってしまいますし……何かとサーバ資源が厳しいはてなでは難しいでしょうね。日記編集画面だけでもUTF-8になれば、各ブラウザの自動変換機能を考慮する必要が無くなりますし、既にUTF-8になった状態で送られますから、後はEUC-JP変換する時の処理を作るだけ……って、そこで負荷がかかってしまうかもしれませんが……

ところで……Mozilla Firefox で中国語を入力すると、文字によってはIEで見ると化けてしまう……っていうのは、システム的に非常にまずい気がするのですが……

http://d.hatena.ne.jp/da-yoshi/20040421#1082590784

はてなグループがunicode対応に。

http://d.hatena.ne.jp/hatenadiary/20040506#1083839682

[][][] http://d.hatena.ne.jp/suikan/20040421

多国語日記に関する要望

はてなダイアリーへの要望

d:id:hatenadiaryに対して、編集画面と設定画面用に「unicodeで編集」オプションを付けることを提案します。

現状説明

はてなダイアリーはEUC-jp(以下EUC)コードを採用しています。そのため英語と日本語でダイアリーに書き込む分については何の問題もありません。しかし、すでに積極的なユーザーの一部が英語、日本語以外の言語で書き込んでいらっしゃいます。一例を挙げます。

これら日本語、英語以外の言語を使う動機はさまざまです。ある方は自身の勉強のために、ある方は日本の外の事の紹介のために、ある方は自分の国の言葉で書きたいがためにこれらの言葉を使っています。

EUCはこれらの言語を取り扱えませんが、HTMLの数値文字参照を使用することでこれらの言語の文字を書き込み、表示することが出来ます。現在のところこれが唯一の方法です。しかしながら、これは非常に面倒な作業を強いられます。ブラウザによっては自動的にEUCが受け付けないコードを数値文字参照に変換するようですが、ブラウザに強く依存するためにあまりよい方法とは思えません。また、はてなダイアリーはこの方法をはじくという報告もあります。

さて、日記の書き込み、編集時のデータの流れを表記すると、通常の日本語ユーザーはこのようになります。

はてな(EUC)⇔ブラウザ・スクリーン(EUC)⇔ユーザー(タイプ)

しかし、中国語をはじめとする他の言語は次のようになります。

はてな(EUC)⇔ブラウザ・スクリーン(EUC)⇔ユーザー(タイプ/コピペ)⇔数値文字参照変換

日本語と英語以外の言語はカット&ペーストによって他のソフト/サイトによって数値文字参照への変換を行わなければなりません。この部分はお世辞にもつかいやすいとはいえず、はてなの優れたシステムの利用者としては残念なことです。

提案内容

上の問題を解消するために、はてなに「unicodeで編集」オプションを提案します。このオプションは編集ページと設定ページのみをunicodeで利用できるようにするオプションです。このオプションをオンにすると、上の編集モデルは次のようになります。

はてな(EUC)⇔unicode変換⇔ブラウザ・スクリーン(unicode)⇔ユーザー(タイプ)

はてなのシステムのうち、データベースや日記閲覧ページ生成部には一切変更を加えません。また、編集画面と設定画面もこれまでどおりEUCで生成します。異なるのは生成した編集画面と設定画面をフィルターによってunicodeのページに変換する点です。このとき、数値文字参照データはunicode文字に変換します。こうすることによってユーザーはテキストエリアの中国語を数値文字参照ではなく通常の文字として編集できます。

ユーザーが編集結果を送信すると、はてなは受け取ったデータをunicodeからEUCに変換します。このとき、EUCに変換できないデータは数値文字参照に変換します。

以上の変更には次のようなメリットがあります。

  • ユーザーは多国語を文字参照ではなく文字としてテキストエリアで編集できる。
  • はてなはデータベースとキーワードシステムを一切変更しなくてよい。
  • はてなは通常のページ生成システムを一切変更しなくてよい。
  • 一般ユーザーのページ閲覧は何の影響も受けない。
  • これまで数値文字参照として入力したデータと完全互換。

以上のように、この提案による方式はもっとも負荷の高い部分には変更を加える必要がなく、かつ、多国語を使うユーザーの使い勝手を大幅に改善します。

補足事項

この変更を行った場合、アンテナ設定画面に対してもunicode化を求める人が現れるかもしれません。

以上、提案終わり。

文字化け

unicodeの数値文字参照を使ってもIEで「?」の字などが化けることがd:id:QianChongさんから指摘されています。現在調査中ですが、これははてなダイアリーだけの問題とは言い切れないようです。HTMLからブラウザ画面に表示するまでにブラウザ内部とOS内部であれこれ弄り回すために何かの条件が満たされないときちんと表示されないのかもしれません。

別サイトで実験したところ表示されましたので、おそらくはCSSでのフォントファミリーの指定などで逃げられる話ではないかと思います。

現在問題が確認されているのは

  • Windows XP + IE6.0
  • WIndows 2000 + IE6.0

です。一方、

  • Windows XP + Mozilla Firefox 0.8

では正しく表示されています。

この辺も含めて、unicodeにしたから全部解決するという話ではありません。使いこなしへの長い道の一歩を踏み出したという気分です。

数値文字参照双方向変換

「はてなダイアリーにunicodeを!」と提案しておいてなんですが、外部に双方向フィルターを持たせればはてながunicodeに対応してなくても限定的な解決は可能です。

例えば、私が常用しているブラウザはMozilla Firefox 0.8ですが拡張機能を使うことでブラウザのtextarea*1のデータを好きなテキスト・エディタに書き出すことが可能です。編集が終わったらテキスト・エディタを終了することでブラウザ上のtextareaの内容が更新されます。

この機能を使ってエディタではなく外部の双方向フィルターを呼び出すとどうでしょう。

  1. Firefoxからtextareaの文章をテキストに落として外部フィルタを呼ぶ。
  2. 呼び出されたフィルターはtextarea内部の数値文字参照をunicode文字に置き換えたテキストを生成し、これを外部のエディタに渡す。
  3. ユーザーは外部エディタで普通に中国語(多国語)を編集
  4. ユーザーがエディタを閉じるとフィルタが編集済みテキストからEUCにない文字を探し出して数値文字参照に置き換える。
  5. 最終処理結果をFirefoxから渡されたテキストファイルに格納する
  6. Firefoxがテキストファイルをtextareaにコピーする。

どうでしょう。これだとはてなダイアリーがEUC-jpであってもテキスト編集はunicodeです。しかもMozilla系のブラウザは内部文字コードがunicodeですので先のフィルターに渡されるコードもunicodeです。つまり、このフィルターを作る人は数値文字参照の双方向変換だけやれば、文字コード変換をしなくていいのです!

ただし、これはMozilla Firefoxに限った話で、IE系の同様のフィルターの場合はshift-jis⇔unicode変換が必要になります。それにこのフィルターはMacやUnix用に別に用意しなければなりません。そもそもブラウザだけで日記をかけるというはてなダイアリーのよさをかなりスポイルしています。そういうわけでやっぱりunicode化を希望します。

それはまあともかく

はてなダイアリーが対応してくれるまでのつなぎとしてどなたか若くて腕に自身のある方*2、この双方向フィルター作ってみませんか?

ワタシ?私はだめです。脇見が多くて交通事故寸前です。

CJKユニフィケーション

自分の別サイトに中国語表示実験というページを作りました。ページ全体のエンコードはshift-jisですが、サンプル文字列にlang属性を指定しています。特に「為」の字に注意してください。unicodeは日本語、中国語、韓国語の漢字のうちよく似た同じ意味*3の漢字に同じコードを割り当てています(CJKユニフィケーション)。そのため、unicodeにしても正しい字が表示されるわけではなく、本来なら言語属性まで表記しなければなりません。

今日現在、はてなダイアリーはソースで指定したlang属性を剥ぎ取ります。この件に関してはd:id:yukattiさんも指摘されています。d:id:yukatti:20040421#1082523290

なお、lang属性の説明をWEBで調べると中国語は"zh"となっていますが、実際には中華人民共和国なのか中華民国なのかまで指定しなければ繁体中国語と簡体中国語と区別することは出来ません。上の例が両者の区別の例として適切かどうかは勉強不足でわかりません。

http://d.hatena.ne.jp/suikan/20040421

はてなグループutf-8対応に。

http://d.hatena.ne.jp/hatenadiary/20040506#1083839682

[][] http://d.hatena.ne.jp/yukatti/20040421#1082523290

はてなダイアリーと外国語(はてなで多国語日記を書く)

実際に多国語日記を書く方法(数値文字参照を使う)や様々な問題点など。参考になります。

また、d:id:suikanさんがlang属性ははてなにより剥ぎ取られる模様(ボストン脇見運転4/20「 繁体中国語表示実験」より)と指摘していらっしゃていて、これは以前わたしも何かの折に気になっていました。このlang属性をはてなダイアリー利用可能タグに追加していただけないでしょうか。>d:id:hatenadiary、はてなダイアリーへの要望。

あわせて、上記サイトで指摘されている問題点を中心にはてなダイアリーの多国語対応も検討頂けたらと思います。

http://d.hatena.ne.jp/suikan/20040421編集画面と設定画面用に「unicodeで編集」オプションを付けること*)の要望もご検討下さい。>d:id:hatenadiary

http://d.hatena.ne.jp/yukatti/20040421#1082523290

はてなグループutf-8対応に。

http://d.hatena.ne.jp/hatenadiary/20040506#1083839682

*1:編集領域

*2:どなたとは言いませんが、d:id:buttwさんとか(笑)

*3:「それは厳密な説明ではない」という抗議がきそうですが、漢字の国の住人である我々から見るとその程度の発想です

2004-03-01

[][] http://d.hatena.ne.jp/huixing/20040301#p1

はてなダイアリーutf-8化の要望

はてなダイアリーへの要望として,はてなダイアリーがデフォルトでutf-8になるといいと思います。本文中や引用ブロックで中国語を挟む場合に簡体字,繁体字として表示されるようにしたいわけです。雨のち晴れ、ときどきBlog 2004/02/27 七里香のようにutf-8でspan lang="zh-cn" のように指定すれば,簡体字,繁体字がちゃんと出るので……。一度,欧文を引用して送ったら受け付けてくれず,書いた全文が消えてしまったことがあり,原因を調べてみたらé一字がEUCで表示できないようでした。あとEUCで~を書くとニュースリーダーで〓(ゲタ)になってしまうようです。他にもはてなダイアリーのutf-8化を望んでいる人がいるので,検討をお願いします。

はてなが東京へ移転「夏までには10万ユーザーを達成したい」
 ~ おめでとうございます。これを機にサーバーの大幅増強とUTF-8対応をお願いいたします。
http://d.hatena.ne.jp/Ctrans/20040227
http://d.hatena.ne.jp/huixing/20040301#p1

2003-10-29

[][] http://d.hatena.ne.jp/da-yoshi/20031029#1067390876

(追記)はてなダイアリーへの要望

文字コードを選択できるようにして欲しい。現在のはてなの文字コードはEUC-JPですが、UTF-8を選びたいのです。理由は、EUC-JPでは表示できない外国語の文字を表示させたい為。外国のCDの題名や曲名を表示させることが出来ません。後、海外の方からコメントを頂くことが何回かあったのですが、文字化けしてしまいます。せっかく書き込んで貰えたのに、とても申し訳なく感じて、そのときからUTF-8さえ使えれば……と強く思うようになりました。

Movable TypeならUTF-8が使えます。自分も別サイトはUTF-8で作ってます。ただ……やっぱしはてなのキーワード機能の魅力に取り付かれている人間としては、できればずっとはてなでメインの日記を書いていきたいなと思ってます。サーバ環境問題等、色々問題もあると思いますが……ご検討頂けたら幸いです。

http://d.hatena.ne.jp/da-yoshi/20031029#1067390876

はてなグループutf-8対応に。

http://d.hatena.ne.jp/hatenadiary/20040506#1083839682