memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

invalid byte sequence in UTF-8への対応

研究ツールとして、RubyRailsのdevelopment.logを解析するコードを作っていました。作っていたというより既にあったものを流用しようとしていたのですが。。。

以前は動いていたはずのコードが上記のエラーで中断する問題がありました。

確かに表示すると文字化けしています。。。なぜそうなるのか調べる時間がなかったので、encodeなどで強制的にUTF-8に変換できないかやってみたのですが。。。ダメでした。

例外で補足してスキップしてみたのですが、大量にスキップが発生してしまい。。。もともとのログ情報がわからなくなる状況でした。

さらに調べると以下の10年近く前の記事がありました。

easyramble.com

scrub? 知らなかったです。。。変換できない文字をscrubに指定した引数の文字に置き換えてくれます。とりあえず、例外も発生しなくなり対処できました。

ありがとうございました。

10年前なので、今はまた別の方法があるのかもですが、とりあえず個人メモのために書いておきます。