私のデータベースは、またはlatin1
でいっぱいです(端末がそれぞれlatin1またはunicodeに設定されているかどうかによって異なります)。文脈から、私はそれらがemdashsであるべきだと思います。IEでレンダリングされた(またはレンダリングされなかった)場合、これらは厄介なバグを引き起こしているように見えます。それらを見つけて交換したいのですが。問題は、âと�のどちらの文字も。と一致しないことです。クエリの実行:â"
'��"'
replace
update TABLE set COLUMN = replace(COLUMN,'��"','---');
エラーなしで実行されますが、何も実行されません(0行が変更されました)。ターミナルにコピーすると、「ひし形の疑問符」の文字が一致していないことは明らかです。そのコードを見つけて、それと何かを一致させる方法はありますか?コンソールは、mysql
これを1行で実行できることに非常に近いので、回避できるのであれば、ターミナルの外でスクリプトを作成したくありません。
dbはAmazonRDSでホストされているため、ここで他の質問で参照されているregexpudfをインストールできません。長期的には、db全体をutf8に適切に変換する必要がありますが、このレンダリングの問題をすぐに修正する必要があります。
編集:
悪い文字をで分離しましたhexdump
。これはe280です(これはどのUnicode文字にも対応していないと思います)。どうすればそれを置換関数にフィードできますか?
update TABLE set COLUMN = replace(COLUMN, char(0xe2,0x80),'---');
何もしません。