(私は誤って最初にDBAでこの質問をしましたが、FAQで、代わりにここでSQLの質問をすることがわかりました)
エンコーディングが壊れたSQLテキストファイルからインポートされたMySQLデータベース(UTF-8照合)を「修復」しようとしています。
つまり、ドイツのウムラウトはデータベース内で壊れています。たとえば「ü」は「ü」と表示されます。
私はREPLACE
関数を知っているので、最初に明白なことを試みました:
SELECT * FROM `mydb`.`mytable` WHERE `mycolumn` LIKE '%ü%';
これは私に期待された結果を与えました。
次に、それらを置き換えようとしました:
UPDATE `mydb`.`mytable` SET `mycolumn` = REPLACE(`mycolumn`, 'ü', 'ü');
驚いたことに、これにより影響を受ける行はゼロになりました。
したがって、エンコーディングについて多くのことを知っていても、これを解決する方法(またはそれが可能かどうか)を理解することはできません。
私の質問:
この関数を使用して、REPLACE
壊れたドイツのウムラウトを置き換える方法は?