• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【Ruby】shift-jisのページの置換)

【Ruby】shift-jisのページの文字列置換について

このQ&Aのポイント
  • content="text/html; charset=shift-jis"のページを読み込んで、文字列の置換がしたいです。
  • Rubyのソースコードを使用して、shift-jisのページの文字列置換を行いたいですが、エンコーディングの互換性エラーが発生してしまいます。
  • rubyのバージョンが2.0.0p353であり、エンコーディングの互換性エラーを解消する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • siffon9
  • ベストアンサー率64% (136/211)
回答No.1

こんにちは > `gsub!': incompatible encoding regexp match (UTF-8 regexp with Shift_JIS string) (Encoding::CompatibilityError) contentの文字はShift_JISなのに、gsubの引数はUTF-8なので一致していないというエラーです。なので、一致させてあげましょう。 content = io.read.encode('utf-8') # contentの文字エンコードをUTF-8に変換

nomorevup
質問者

お礼

siffon9さん、ありがとうございました。 おかげさまでできました。 置換の後に出力結果はShift_JISのままにしたかったので、gsub!した後に、content.encode('Shift_JIS')で元に戻しました。