0

mysqlデータベースにhtmlentitiesを持つエントリがあるので、たとえば、の&ouml代わりにö

今、私はそのデータベースで次に行う必要があることのために、すべてのhtmlentityを取り除き、それらを対応する文字に変換する必要があることに気付きました。たとえば、&oumlになる必要がありöます。

もちろん、これをphpで実行して、さまざまな列をループし、デコードされた文字列を書き戻すスクリプトを作成することもできます。

しかし、理想的にはすべての列に対してさえ、単一の更新ステートメントを使用してmysqlで直接それを行う方法があるかどうか疑問に思っていますか?

4

2 に答える 2

1

しばらく前にこれについて読みましたが、これがあなたが探しているものであることを願っています。ただし、変換ルールを手動で作成する必要があります。

http://forums.mysql.com/read.php?98,246527,246527

アンパサンドを変換する例:

IF INSTR( x , '&' ) 
THEN SET TextString = REPLACE(TextString, '&','&') ; 
END IF ; 
于 2012-07-29T15:35:49.517 に答える
1

最善の方法は、PHP を使用することです。@Chrisのソリューションは機能しますが、一度実行する必要がある人にとってはあまりにも多くの作業が必要になります。

PHP をトランザクションおよびプリペアド ステートメントと組み合わせて使用​​すると、問題なく作業を行うことができます。

于 2012-07-29T15:40:34.830 に答える