DB 移行でいくつかのユーザー名からスラッグを作成しようとしています。
nick = nick.gsub('á','a')
éíóúñ
にも変更したいですeioun
。
そうしてもうまくいきません。
互換性のないエンコード正規表現の一致 (ASCII-8BIT 文字列を含む UTF-8 正規表現) (Encoding::CompatibilityError)
ただし、たとえば force_encoding メソッドを追加するなどして、次のようなエンコーディング エラーが常に発生します。
UTF-8 の無効なバイト シーケンス (ArgumentError)
"\xF3" ASCII-8BIT から UTF-8 (Encoding::UndefinedConversionError)
互換性のない文字エンコーディング: ASCII-8BIT および UTF-8 (Encoding::CompatibilityError)
これは、ボーカルやスペイン語の ñ 文字を変更するための gsub がある場合に発生します。
ファイルにもencoding: utf-8
行があり、データは UTF-8 データベースから取得されます。しかし、何も役に立たないようです。
SOに関するいくつかの質問を見てきましたが、何をしようとしても解決しません。
ちなみにこれはRailsとは関係ありません。