Изменить htmlentities в MySQL
У меня есть записи в базе данных MySQL, которые имеют htmlentities, так, например, ö
вместо ö
,
Теперь я понял, что для следующих вещей, которые я должен сделать с этой базой данных, мне придется избавиться от всех htmlentities и преобразовать их в их соответствующие символы, например ö
должен будет стать ö
,
Конечно, я мог бы сделать это в php и написать скрипт, который проходит по разным столбцам и записывает обратно декодированные строки.
Но мне интересно, есть ли способ сделать это непосредственно в MySQL с помощью одного оператора обновления, в идеале даже для всех столбцов?
2 ответа
Лучший способ - использовать PHP. Хотя решение @Chris будет работать, оно потребует слишком много работы для кого-то, что нужно запустить один раз.
Использование PHP в сочетании с транзакциями и подготовленными инструкциями может отлично справиться с этой задачей.
Я читал об этом некоторое время назад, и я надеюсь, что это то, что вы ищете. Вы должны создать правила перевода вручную, хотя:
http://forums.mysql.com/read.php?98,246527,246527
Пример для перевода амперсанда:
IF INSTR( x , '&' )
THEN SET TextString = REPLACE(TextString, '&','&') ;
END IF ;