• Retrointernet
Retrointernet
Mysql. Eliminar registros con caracteres no ASCII

Mysql. Eliminar registros con caracteres no ASCII

  • 9 de noviembre de 2015

Puede resultar muy útil eliminar los registros que contienen un campo con caracteres no ASCII, por ejemplo, si uno de los campos va a ser parte de una url. Nos interesará eliminar aquellos registros que no cumplan la tabla ASCII 128.

Podemos utilizar la siguiente consulta MySQL:

select * from enlaces WHERE urlname NOT REGEXP "^[[:alnum:]-]+$"

Pero no siempre se consigue filtrar algunos caracteres extendidos, sobre todo aquellos caracteres UTF-8 que no se encuentran en la tabla ASCII 128.

Para conseguir un filtrado mucho mejor, podemos utilizar la siguiente consulta:

delete from enlaces where urlname <> CONVERT(urlname USING ASCII)