ROUTE286 - http://r286.com/

2 8 6 - ROUTE286 の後継ブログ。

今後は 2 8 6 で記事投稿・ブログ公開を行います。
ROUTE286 の新たな記事投稿は行われませんが、修正等は行います。

UTF-8 でも文字化けを起こすわけ。

ROUTE286 - トップ ウェブログのブログ話(Blog)
サイト連携 [RSS]

書込 - 2004年04/03/21 21:03

トラックバックは多くの場合、最新の記事にトラックバックされるのですが、
珍しく初期の記事にトラックバックされていたものがありまして……。
ただ、コメントは「メールアドレス必須」と怒られたので、トラックバックで回答です。

トラックバック(Track Back)はblogの魅力の1つ。しかしぐ〜たら夫婦の旅日記からトラックバックすると、先方で文字化けが発生することが分かった。全部文字化けすれば諦めもつくが(?)、文字化けするのは全角の波文字 "〜" だけ。これがゲタ文字 "〓" に化けてしまうのだ。

ぐ〜たら夫婦の旅日記 - トラックバックで文字化け

Myblog Japan とかでも見れますね。「〓」に化けた記事を。

この原因ですが、現在主流の Movable Type で用いられている「日本語化ツール」では、
文字コードの変換として Jcode.pm というモジュールを用いています。
しかし、この Jcode.pm のドキュメントには……

JcodeによるUnicodeのサポートは効率的とはとても言えません!

とあります。……そうなんです。
Jcode.pm は今だ UTF-8 対応が完全ではないために「〜」が「〓」に化けるのです。

ただ、現在の Perl 最新版では文字コードの変換モジュールとして Encode が標準装備されています。
この開発者は Jcode.pm と同じ方です。
また、Encode は日本語以外の文字コードも対応されています。
そのため、今後 Encode を元に Jcode.pm が改良され、不都合も解消される事は十分考えられます。

でも、現状をいうと、相手が php とかであれば UTF-8 でも文字化けしないと思われます。
今、ROUTE286 で採用しているトラックバックシステム「語り部」は php 版なので、
送信前に変換を行っていなければ、文字化けなく受信できるのではないかな〜と思いますが……。

トラックバック Ping 送信も作ってみる。#2 - 現在 ROUTE286 はトラックバック・更新 Ping もオリジナルシステムで送信。文字コードは Shift_JIS ですが……。
語り部 0.05 にバージョンアップ。 - これ、一度ネタにしているのです。
文字コードの話。#2 - 最初から技術的な事を記載していたりします。
Encode - Perl 5.8 から標準装備になりました。
perldoc.jp - Jcode - 日本語文字集合ハンドラ - MT 使っている人はお世話になっているはずです。
語り部 - トラックバック受信部分は一段落。

コメント・トラックバック ( 9 )

トラックバックURL: http://r286.com/katari/255
(日本語・文字コード自動判別)
トラックバックを正常に行っていないものや悪質性があるもの等は編集・削除する場合があります。
逆に内容の良い記事からのトラックバックや興味を持ったコメント等は
ADMIN @ ROUTE286 がツッコミを入れている事があります。
ROUTE286 上で公開されなくない返事や運営者へのお問い合わせ等は こちらのフォーム を用いて下さい。
以下のフォームはコメントでの利用ははもちろん、
トラックバック機能がない blog で以下のフォームをトラックバック代わりにしていただいても結構です。



Jcode.pm 2004/03/21 23:53:23
Jcode.pmって、不具合の改良はあるかもしれませんが、
Unicode対応は、今後もしないんじゃないかと思われます。

当方は、Perl5.8で、Encodeの使い方に途惑っていたりしますが^^;
#やっぱり、文字コードの未来は、Unicodeにあるのね〜
僕ト云フ事

たしか開発者が ML に記載していた限りでは、
Jcode.pm のバージョンアップは行う予定だったと思います。
Encode の方を行い、そのソースを元に Jcode.pm もバージョンアップさせるのかもしれません。
ただ、Jcode.pm は日本語のみで、Encode は各国語が存在しているという面で
今のところそれぞれ処理が異なっている部分があるそうです。

ちなみにこの ROUTE286 に採用している Jcode.pm は一般配布されているものより
一つ新しいバージョンを採用しています。( CPAN 等に反映されていません。)
このバージョンも少し Unicode 変換には手が加えられています。
ADMIN @ ROUTE286



追記 2004/03/21 23:55:02
「Unicode対応は、〜」
  ↓
「Unicode対応に関しての改良」です。
失礼しました^^;
僕ト云フ事



なるほどなるほど。 2004/03/22 04:43:09
Unicodeは全部Encodeに取って代わられるのかと思い込んでましたΣ(゚口゚;

たいした確認もせず、見切り発車なコメントで申し訳ないです(トホホ
僕ト云フ事

Encode の場合は各国語という事で上手く変換できない不都合が出てくるようです。
( Internet Explorer の「エンコード - 自動選択」みたいなものですね……)
また言語数が多い分、処理も効率的にいかないみたいです。
日本語限定の Jcode.pm が確実で高速に変換できるわけです。
また、Encode は Jcode.pm とは実行方法が異なるので、
Encode への変更に伴なうソース改変の問題から、
その点でも Jcode.pm が残される要因となるものもあるかと思われます。
( jcode.pl から Jcode.pm だと互換性のあるものが存在していたので……)
Encode を Jcode.pm と同じように実行できるモジュールも出てきているようですが……。
ADMIN @ ROUTE286



始めまして 2004/04/10 15:15:40
トラックバック先に残る、私のurlが文字化けするんですが解決方法はあるんでしょうか?素人です。Movable Type です。EUC-JPです。
http://www.twin.ne.jp/~kaname/blog/の~kの部分が変な漢字に化けるんです。
http://li-cafe.mond.jp/blog/archives/000183.htmlこのエントリーにトラックバックを入れているんですが・・・・
んなアホな?

EUC→EUC でも、MT の場合は UTF-8 に変換して Ping を送信する仕様になっています。
つまり、EUC→UTF-8→(転送)→UTF-8→EUC になっています。
UTF-8 の場合、~ は %7E 以外に %E2%80%BE もあって、
これが文字化けを起こしている原因です。
(全角で書くと 〜 と  ̄ の2ケースがあります。)
ただ、どの段階で文字化けを起こしているかが分かりません。
ブラウザで Safari と古いバージョンの Opera ではこの問題があるようです。
また、Jcode.pm には UTF-8 の変換を行う際、
~ と \ に関する設定が存在しているため、
インストールしている Jcode.pm の設定によって生じている可能性もあります。

解決ですが、~ の代わりに %7E とすればとりあえず大丈夫でしょう。
または古いバージョンのブラウザや Jcode.pm を入れなおす事で改善するかもしれません。
ADMIN @ ROUTE286



何とか・・ 2004/04/11 11:05:19
http://weblog.uva.ne.jp/で

MT 2.661 Japanese Language Pack and Patch

を探し当てることが出来ました。
Trackback.pm と CMS.pm を書き換えて、アップし直したらうまく行きそうです。ありがとうございました。
かなめ



早とちり 2004/04/11 11:26:54
いけたと思ったんですが、駄目でした。お騒がせしてすみません。あきらめます、ありがとうございました。

>解決ですが、~ の代わりに %7E とすればとりあえず大丈夫でしょう。

って、何処をどうすれば・・・(あきらめた筈じゃ・・?)
かなめ

URL を http://www.twin.ne.jp/~kaname/blog/ としていますよね?
これを http://www.twin.ne.jp/%7Ekaname/blog/ と変更するのです。
これだけです。

誰も「ソースをいじれ」とは書いていませんよ。
それだったら運営者は Perl を結構記載していますので、
改良した日本語パッチを公開していますから。
ADMIN @ ROUTE286



ありがとうございます 2004/04/11 22:42:15
右クリックで出てくる MT It! では自分自身でURLを入れることは出来ません。Movable Type が勝手に(言い方が良くわかりません)トラックバック先に私のURLを送ります。そのURLを辿ると~の部分が%E2%80%BEになっているんですよね、なんだか私のサーバーが悪いみたいですね(良く解っていないんですが)うまくいかないのでトラックバック(MT It!)は使わないようにします。本当にお騒がせしてすみません。

かなめ

自分は悪魔で MT 自身の事を書いています。
MT It! がどうのこうのとかではなく、大元の Blog ツールでの話です。
(運営者は MT It! というものを知りません。ROUTE286 はオリジナルシステムですし……)

他の解決方法としては、
自分のホームページ領域に Jcode.pm を入れてみるといった策もあります。
これは調べれば記載している Blog があります。
ADMIN @ ROUTE286



げた 2004/09/05 18:09:46
Jcode から Unicode::Japanese にすると問題なくなったりしました。
nippo

Jcode.pm と Encode の開発者は同じですからねぇ…… ^^;;;

ADMIN @ ROUTE286



MovableType用コメント変換プラグイン MT-NekoMimiMode v1.01 2005/03/14 19:19:12
バージョンアップというかバグ修正。 コメントの変換リストを内部に持っているのでプ...
コマわり。 [Tools St.]



表題 / 題名


概要 / 内容


サイト(ウェブログ)URL 省略可


サイト(ウェブログ)名 / 名前


「route/255」を半角で入力して下さい





ROUTE286 はオリジナルのシステムで動作しています。
Presented by ROUTE286. ROUTE286 トップ お問い合わせ