分音記号を削除する関数内で使用する ruby スクリプトを実行しようとしています。
def remove_diacritics(text)
return text.tr!(
"ÀÁÂÃÄÅàáâãäåĀāĂ㥹ÇçĆćĈĉĊċČčÐðĎďĐđÈÉÊËèéêëĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħÌÍÎÏìíîïĨĩĪīĬĭĮįİıĴĵĶķĸĹĺĻļĽľĿŀŁłÑñŃńŅņŇňʼnŊŋÒÓÔÕÖØòóôõöøŌōŎŏŐőŔŕŖŗŘřŚśŜŝŞşŠšſŢţŤťŦŧÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųŴŵÝýÿŶŷŸŹźŻżŽž",
"AAAAAAaaaaaaAaAaAaCcCcCcCcCcDdDdDdEEEEeeeeEeEeEeEeEeGgGgGgGgHhHhIIIIiiiiIiIiIiIiIiJjKkkLlLlLlLlLlNnNnNnNnnNnOOOOOOooooooOoOoOoRrRrRrSsSsSsSssTtTtTtUUUUuuuuUuUuUuUuUuUuWwYyyYyYZzZzZz")
end
私は最初に魔法を持ってい# encoding: utf-8
ますが、奇妙な動作をしています。Mac では動作しますが、まったく同じファイルを Raspberry Pi にコピーすると、次のエラーが発生します。
remove_diacritics.rb:28:`tr!' で: 互換性のない文字エンコーディング: US-ASCII および UTF-8 (Encoding::CompatibilityError)
これは、ヘルプ フォーラムでは定番のようです。魅力的なのは、Ruby のバージョンがまったく同じ (ruby 1.9.3p286 (2012-10-12 リビジョン 37165)) であるにもかかわらず、あるマシンでは動作し、別のマシンでは動作しないことです。
助言がありますか?