content="text/html; charset=shift-jis"のページを読み込んで、文字列の置換がしたいです。
#!/opt/local/bin/ruby
require 'uri'
require 'open-uri'
url='http://hoge.hoge'
open(url,'r:shift_jis'){|io|
content = io.read
content.gsub!(/ほげ/,'ホゲホゲ)
print content
}
上記の様に書いてみました。ソースコード自体はUTF-8で記述しました。
実行すると、
`gsub!': incompatible encoding regexp match (UTF-8 regexp with Shift_JIS string) (Encoding::CompatibilityError)
となってしまいます。
どうしたらよいのでしょうか?
rubyのバージョンは
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin12]
です。
以上、よろしくご指導のほど、お願い申し上げます。
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に変換
siffon9さん、ありがとうございました。
おかげさまでできました。
置換の後に出力結果はShift_JISのままにしたかったので、gsub!した後に、content.encode('Shift_JIS')で元に戻しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- Ruby 教えてください 2 2023/01/04 17:50
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
小文字wと大文字Wの区別
-
プログラミング言語で大文字と...
-
Ruby / passenger のインストー...
-
プログラミング講師はまだ需要...
-
初心者 パイソンプログラム
-
システムエンジニアの適正について
-
ruby.exeとrubyw.exeに違いがあ..
-
COBOLのIFの入れ子について
-
WinXP+Apache2にerubyを入れま...
-
RubyでNo such file or directo...
-
VBとフィボナッチに明るい方、...
-
.NETを勉強したく、C#やVB.NET...
-
式?文?節?
-
Rubyを勉強している初心者です...
-
Rubyの.soについて
-
CかC++どちらを覚えるべきですか?
-
MATLAB
-
Linuxの「find」コマンドについて
-
web上のhtmlファイルから文字デ...
-
ruby on railsインストールでエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
小文字wと大文字Wの区別
-
プログラミング言語で大文字と...
-
フォルダー名の大文字小文字
-
Ruby expect 条件文(if文)の書き方
-
Filterで大文字、小文字の区別
-
ruby の File.exist? メソッド...
-
システムエンジニアの適正について
-
Ruby / passenger のインストー...
-
プログラミング講師はまだ需要...
-
VB.NETで階乗を求めるプログラ...
-
初心者 パイソンプログラム
-
CかC++どちらを覚えるべきですか?
-
Ruby interpreter (CUI) 2.2.3 ...
-
RubyでNo such file or directo...
-
web上のhtmlファイルから文字デ...
-
Rubyでpdfファイルを読み込む方法
-
ruby 全角ハイフンを半角ハイフ...
-
ruby.exeとrubyw.exeに違いがあ..
-
バーコードのチェックデジット...
-
rubyのevalのエラーを検知したい
おすすめ情報