これはおそらくStackoverflowで私が尋ねなければならなかった最も奇妙な質問の1つです:)
私は、まったく触れられない、テストされていないレガシーのPHPアプリケーションを持っています。このアプリケーションは、Mysqlとアカウントごとに1つのデータベースを使用します。つまり、何千ものデータベースがあります。
作業を開始する前にエラーが発生したため、このアプリはMysqlの間違ったエンコーディングに接続します。したがって、「é」があるはずのデータベースでは、実際には「é」が取得されます。アプリケーションでは(接続エンコーディングが間違っているため)、éが得られます。
アカウント/データベースの作成を管理するRailsアプリケーションがあります。問題は、Railsアプリケーションが正しいエンコーディングを使用しており、データベースを作成するときに、PHPアプリケーションが正しく読み取れないデータを挿入することです。
私の質問:Rubyに文字列「é」があることを考えると、意図的に「é」に変更するにはどうすればよいですか?使用できるstring.encodeはありますか?
注1:すべてのデータベースをダンプしてこれを修正することはできません(これが理想的な解決策です)
注2:正しいエンコーディングを持つ別のデータベースを使用しているため、Rails接続のエンコーディングを切り替えることができません