Debido a errores de mis predecesores, una base de datos (MySQL) que quisiera utilizar contiene muchas entidades HTML (por ejemplo, €
en lugar de €
).Eliminar entidades html de una base de datos
Como la base de datos debe contener datos brutos (una base de datos no debería tener nada que ver con HTML) quiero eliminarlos del DB y almacenarlos en el UTF8 correcto, la ubicación ya es esa.
¿Cuál sería una buena manera de arreglar esto? Lo único que se me ocurre es escribir un script PHP que obtenga todos los datos, lo ejecute a través de html_entity_decode() y lo vuelva a escribir. Es factible ya que es una operación de una sola vez y la base de datos tiene solo unos 100 MB de tamaño, pero sigue siendo menos que óptima.
¿Alguna idea?
Si se trata de sólo unos pocos caracteres diferentes, que probablemente podría hacer una consulta de actualización con una cuerda sencilla buscar/reemplazar Pero si es una gran variedad, entonces elija la opción de ida y vuelta de PHP. –
Hay más de 50 entidades en uso solo en esta base de datos, y HTML permite que cada carácter se escriba como una entidad HTML utilizando la sintaxis xx;, por lo que no es tan simple como buscar y reemplazar. – dtech