Personal tools

UTF-8でmoblogすると文字化けするバグ直った。。。

ええ,ほんの息抜きのつもりだったんです。前々から気になっていた,COREBlogをUTF-8で運用していてmoblogでエントリーを追加すると文字化けするバグ,どうしてなのかなー,と思って怪しい部分を見ていると,なんとそこに。。。

というわけで直りました(多分)。Ploneなんかと組み合わせてUTF-8でCOREBlogを運用している人とか,UTF-8で送信されたTrackbackが化けてイヤーンな人はこのファイルをダウンロードして,utility.pyと入れ換えてみてください。

あ,念のため,古いutility.pyをバックアップするのと,ダウンロードしたファイルのファイル名をutility.pyに変えるのをお忘れなく。また当然,入れ換えたあとはCOREBlogのProductをリフレッシュするか,Zopeを再起動する必要があります。

Category(s)
COREBlog
The URL to Trackback this entry is:
http://coreblog.org/ats/184/tbping

Re: UTF-8でmoblogすると文字化けするバグ直った。。。

Posted by owa at 2003-12-22 22:45

最近文字コード変換を少し試してみたのですが、
漢字コードの判定は pykf.guess() より kconv.ChkCoding() の方が少し正確な気がしました。
pykf だと utf-8 の"もじ化け" などの短い文を判定させると Shift_JIS が返ってきました。
一方 kconv の方は ascii の判定をしてくれないので、先行して ascii 判定する処理が必要になるとは思いますが。

あと unicode() メソッドですが python2.2 以降じゃないと誤動作するような気がします(記事を探したけど見付からなかった;;)
使いかたに間違いあるかもしれないので、ツッコミ希望っす。

Re: UTF-8でmoblogすると文字化けするバグ直った。。。

Posted by ats at 2003-12-22 23:33

>owaさん

kconvは,デフォルトだと統計情報かなにかを使って文字コードを判定していますよね。ただ,わたしの経験だとたまに「暴れる」ことがあります
文字列が短いくて,かつエンコード情報がない場合,どうしても判別できないケースがでてきてしまうので,仕方がない部分もあると思います

とはいえ,私もあまり深く追っていません(^^;

Re: UTF-8でmoblogすると文字化けするバグ直った。。。

Posted by ishimoto at 2003-12-22 23:44

UTF-8の"もじ化け" はShiftJISとしても正しい文字列なんで、判定は難しいですねぇ。pykfではUTF-8とSJISだとSJISの方を6.25%ほどひいきしますんで、このようなケースではほぼSJISと判定してしまいます。

漢字の第一水準と第二水準で差をつければもうちょっと精度良くなるのかも知れませんが、あまりやる気無かったり。

Re: UTF-8でmoblogすると文字化けするバグ直った。。。

Posted by owa at 2003-12-22 23:53

>> 仕方がない部分もある
鬼門に入ったかも知れないけど、もう少し勉強してみます。unicode() も。
Blog サイトですが、COREBlog をトップに配置しなくても使えることを知りました。
この方面も応用が利きそうなので、とりあえずそっちに行こうかなと思ってます。

Re: UTF-8でmoblogすると文字化けするバグ直った。。。

Posted by ats at 2003-12-23 00:13

UTF-8で"文字化け"はu'\u6587\u5b57\u5316\u3051'ですね。これは,S-JISの"WS0Q"に相当します
これでは,構文解析でもしないと,UTF-8かS-JISか判別できないですね(^^; 構文解析したとしても,後者は./のハンドルにありそうで,いちがいに判別できないかも。。。

文字コードに関してはとりあえず↓こんなところかな。。。


いやはや,お勉強になります;-)

Re: UTF-8でmoblogすると文字化けするバグ直った。。。

Posted by owa at 2003-12-23 14:13

unicode() の件、嘘ついてしまいました。当該マシンに JapaneseCodecs が入ってませんでした。
ごめんなさい _(.".)_

UTF-8の"もじ化け"の判定は難しいのですね。
これから textarea の入力フィルタ作ろうとしてたところなので参考になります。
字種判定、構文解析、パターン...なんか spam フィルタに似て来る。
もっと修行せねばいけないことだけ解かった。

moblogの文字化けが直った!

Posted by Days of Liris at 2005-10-18 23:02
UTF-8でmoblogすると文字化けするバグ直った。。。らしいので、早速、入れ換えてみました。うちの環境(Python2.1+zope2.6.1)だと、pykfがうまく動かなかった(文字化けしたまま)なので、kconvの方...

utility.py のパッチを作りました

Posted by 象歩Blog at 2005-10-18 23:02
excerpt に文字化けが発生するのでパッチ作りました。 文字列を指定された長さで切り出すモジュールが UTF-8 に対応していないようです。Shift_JIS もついでにコードを修正しました。 ここにソースとパッチ置いてあります。 UTF-8 は今のところうまく動作しているよう...

moblogの文字化け直りませんと思ったら。。。

Posted by NIIGATAWEV COMPANY at 2005-10-18 23:02
と思った...
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
コメントスパム避けのための認証文字列です

Captcha Image

Pythonな求人
r = urlopen("http://www.webcore.co.jp/recruit")
About this blog
■Author
atsこと柴田淳です。Atsushiはガイジンにうまく発音して頂けないので,これからはJunというペンネームで行こうと思っていましたがあんまり使ってません。
Webcore株式会社 代表取締役
■TRIVIAL TECHNOLOGIES 2.0
トリビアル・テクノロジー 2.0,「トリテク 2.0」と呼んでください。
Blog(ブログ)サイトです。Plone上で動く,オープンソースのBlog Product - COREBlog2を使っています。
 
最近書いた本,Mook
みんなのPython Webアプリ編
Pythonの基礎から,Webアプリやフレームワークの仕組みまで,つまることなく一気に学べる書籍です。「みんなのPython」と一緒に読んでください:-)。
みんなのPython
Pythonの入門書です。基本的なことから分かりやすく解説するよう勤めました。Pythonをはじめたいと思っている人,JavaやC++,PerlやRubyを学ぼうと思って躓いてしまった人はぜひ読んで下さい。
 

Powered by Plone, the Open Source Content Management System