1

ユーザーのデータベース パスワードを変更する権限ではなく、mySQL データベースを使用する Rails アプリケーションがあります。問題は、パスワードに次のような変異した母音が含まれていることです:移行asÖs8ssを実行しようとするrake db:migrateと、次のエラーで失敗します:

rake aborted!
special characters are not allowed

私はこの方法でエスケープしようとしましたÖ

\xC3\x96
\u00D6

しかし、これは役に立ちません。encoding: UTF8データベース接続と#encoding: utf-8の先頭にも追加しましたdatabase.ymlが、問題の解決には何も役立ちません。

権利を逃れる方法、Öまたはこれを何らかの形で修正する方法を誰かが考えていますか?

更新これが役立つ場合、JRubyを使用していますか?

4

1 に答える 1

1

JRuby の最新バージョンに更新して実行すると、動作するようbundle updateになりました。また、すべてのファイルがutf-8Windows マシン上にあることを確認する必要があります。デフォルトはANSI.

db:migrate次のコマンドで実行する必要があります。

jruby -J-Dfile.encoding=UTF-8 -S rake db:migrate RAILS_ENV=production
于 2012-07-14T19:28:40.943 に答える