GoogleDrive::Error: Update has failed: An invalid XML character (Unicode: 0x{2}) was found in the value of attribute “{1}” and element is “8”.


google-drive-rubyを使って、DBに保存されたデータをスプレッドシートにエクスポートする機能を作成していた際に、以下のエラーが発生しました。

GoogleDrive::Error: Update has failed: An invalid XML character (Unicode: 0x{2}) was found in the value of attribute “{1}” and element is “8”.

XMLとして書き出す際に制御文字が含まれてしまっていたためエラーが出ていたようです。

そこで参考サイトに書かれていたようにgsubを使って制御文字を削除するようにして対処しました。

"hellontb world".gsub(/[[:cntrl:]]/, '') #=> "hello world"

バックスペースを意図的に入力する機会ってあるのでしょうか?

参考