« CGIKit 2.xを手動でインストールする | メイン | Movable Type3.17でHTMLAreaを使う(6) »

CGIKit2の文字コードの処理について(2)

前回の続き。

CGIKit 2.xでは、文字コードにUTF-8を推奨している。(CGIKit - 日本語処理)

しかし、ruby 1.8.2のKconvでは UTF-8 に変換できない。(るびま)

変換できないことを確認してみる。

require 'kconv'

# UTF-8 で表された 'Hello, るびま!'
str = "\x48\x65\x6c\x6c\x6f\x2c\x20\xe3\x82\x8b\xe3\x81\xb3\xe3\x81\xbe\xef\xbc\x81"

puts Kconv.guess(str) # => 6 == Kconv::UTF8 正しい
str = Kconv.kconv(str, Kconv::UTF8) # UTF-8をUTF-8に変換する
puts Kconv.guess(str) # => 1 == Kconv::JIS

# Shift_JIS で表された 'Hello, るびま!
str  = "\x48\x65\x6c\x6c\x6f\x2c\x20\x82\xe9\x82\xd1\x82\xdc\x81\x49"

puts Kconv.guess(str) # => 6 == Kconv::UTF8 正しい
str = Kconv.kconv(str, Kconv::UTF8) # Shift_JISをUTF-8に変換する
puts Kconv.guess(str) # => 1 == Kconv::JIS

対策としては、るびまにもあるように 修正されたkconv.rb を使用するのがよさそう。

修正されたkconv.rb をlibディレクトリにコピーすれば、使えるようになる(はず)。

トラックバック

このエントリーのトラックバックURL:
http://www.gesource.jp/mt/mt-tb.cgi/43

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2005年09月13日 10:56に投稿されたエントリーのページです。

ひとつ前の投稿は「CGIKit 2.xを手動でインストールする」です。

次の投稿は「Movable Type3.17でHTMLAreaを使う(6)」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35