tusbasaのブログ

業務や勉強中に調べたことを自分用にメモするブログ

【ruby】文字化けとエンコーディング

Net::HTTP.getやURI.openで取得したテキストデータはデフォルトでASCII-8BIT(バイナリまたはバイトストリームとしても知られています)として扱われる。 これをUTF-8に変換するにはtext.encode("UTF-8")では文字化を起こす可能性がある。 text.encode("UTF-8", "Shift_JIS")だと正しく変換できた。取得した文字列をrubyに何の文字コードとして認識させるかを伝えないといけない。 上記の場合textに格納されている文字列がShift_JISエンコードされていたのでそれを指定した。

encode("変換後の文字コード", "変換前の文字コード")

参考