いまいです。

From: Fujioka <fuj_at_rabbix.jp>
Date: Fri, 30 Apr 2010 13:05:44 +0900

>>> 元のエンコーディングがわかれば、encode()の第2引数を指定する
>>> ことで例外を回避できます。
>>>
>> これは知らなかった。orz
>> 
> irb(main):006:0> "ふじおか".force_encoding("ASCII-8BIT").encode("UTF-
> 8","ASCII-8BIT")
> Encoding::UndefinedConversionError: "\xE3" from ASCII-8BIT to UTF-8
> 	from (irb):6:in `encode'
> 	from (irb):6
> 	from /Users/fujioka/local/bin/irb19:12:in `<main>'
> 
> です。なんか間違っているのかな。オプション指定しても

「元のエンコーディング」と言うのは、ASCII-8BIT になる前のエンコーディ
ングってことじゃないでしょうか?

# -*- coding: utf-8 -*-
s = "いまい".force_encoding("ASCII-8BIT").encode("UTF-8", "UTF-8")
# => "いまい"
s.encoding
# => #<Encoding:UTF-8>
s = "いまい".encode("Shift_JIS").force_encoding("ASCII-8BIT").encode("UTF-8", "Shift_JIS")
# => "いまい"
s.encoding
# => #<Encoding:UTF-8>
--
Nobuhiro IMAI <nov / yo.rim.or.jp>
Key fingerprint = F39E D552 545D 7C64 D690  F644 5A15 746C BD8E 7106