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

[][] http://d.hatena.ne.jp/myk_fct/20040421#1082530080

繊細なはてなカウンター

とても便利に使っているはてなカウンターではありますが、いかんせん繊細すぎて困っています。日記を書いてもコメントを書いてもカウントが上がってしまうし、リロードでも上がってしまう。はてなダイアリーは特にユーザー自身が自分のページにアクセスする事の多い作りなので、自分のアクセスはカウントしないとかの機能が欲しいなあ。あと、ヒット数とユニーク数を別に見ることが出来たりするとそれもまた嬉しい。

まだ開発途上と信じて、→はてなダイアリーへの要望。xreaの無料解析で提供してるような機能が欲しい~。

http://d.hatena.ne.jp/myk_fct/20040421#1082530080

[][][][] http://d.hatena.ne.jp/toronei/20040421#1082492807

昨日の続き

一応、僕はあとアンケートの内容を盾にするのは嫌いですがと書いているんですけどね、とりあえずはてなに全部させたらいいというのは、あまりにも無責任すぎる意見だと思うのですが、まして無料サービスで3万7400サイトもあるんですが……*4「何か魂胆あるようにも思え。」SHIGEPONの日記 2004/04/21 よりみたいな論拠で、人のことを決めつける人はこれ以上お話しは難しいようですね残念なことですが。

今回の騒ぎを大きくしたくないんですよ、何故ならこのやりとりは結果的にではありますが、現在のはてなはトラバ荒らし、トラバスパムがし放題であるという現状をアピールすることになってしまうわけですから、その点についてはてなさんが考えていないとは思っていませんが。だいたいつい最近hoshikuzu | star_dustの書斎 2004/04/20 はてなにおけるトラックバッククラック発生中ということがあったばかりという現状があるわけですから、僕の意見を独善的な何か魂胆のある勝手な意見とされるのは変だと思います。

それで結果的に「リンク元を隠す」という選択をする人が多くなるのは、ユーザーの不利益でしかないと思うのですが、とりあえずこの件については僕だけの意見では僕の独善的意見と思われているようなので、しばらく他の人の意見を僕も拝聴したいですね。

はっきりいってこういうトラブルを全て、はてなの管理責任にしてしまうのは、そちらのほうが遙かに無理があり非現実的だと思うのですが……。というかこれを全てはてなの管理責任にするというほうが、『はてなを潰す気か!!(笑)』っていうツッコミが入りそうです。

正直、回答こそ我が人生!!(ウソ 2004/04/20 マイブラックリストの導入についてとか永字八法 2004/04/20 「冗談じゃないよっっ!!」についてのほうがタイムリーな話題になりそうなので、この件がどうなるかはわかりませんが。

キーワード: d:id:hatenadiary はてなダイアリー評議会 はてなダイアリーへの要望 トラックバックスパム 一応、捕捉して貰っておきます。

http://d.hatena.ne.jp/toronei/20040421#1082492807

→消せるようになりました。http://d.hatena.ne.jp/hatenadiary/20040423#1082724719


[][][] http://d.hatena.ne.jp/dharma76/20040421#p6

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

d:id:hatenadiaryさま

hotkeywordモジュールでも「titlelength="10"」と「タイトルの最大文字数」を指定できるようにならないでしょうか。

http://d.hatena.ne.jp/dharma76/20040421#p6

*1:編集領域

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

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

*4http://www.itmedia.co.jp/news/articles/0404/19/news013.html