Saltar al contenido

¿Cómo puedo encontrar caracteres que no sean ASCII en MySQL?

Si te encuentras con alguna parte que no entiendes puedes dejarnos un comentario y haremos todo lo posible de ayudarte rápidamente.

Solución:

MySQL proporciona una gestión integral de juegos de caracteres que puede ayudar con este tipo de problema.

SELECT whatever
  FROM tableName 
 WHERE columnToCheck <> CONVERT(columnToCheck USING ASCII)

los CONVERT(col USING charset) La función convierte los caracteres no convertibles en caracteres de reemplazo. Entonces, el texto convertido y no convertido será desigual.

Ver esto para más discusión. https://dev.mysql.com/doc/refman/8.0/en/charset-repertorio.html

Puede utilizar cualquier nombre de conjunto de caracteres que desee en lugar de ASCII. Por ejemplo, si desea averiguar qué caracteres no se representarán correctamente en la página de códigos 1257 (lituano, letón, estonio), utilice CONVERT(columnToCheck USING cp1257)

Puede definir ASCII como todos los caracteres que tienen un valor decimal de 0 – 127 (0x00 – 0x7F) y buscar columnas con caracteres que no sean ASCII utilizando la siguiente consulta

SELECT * FROM TABLE WHERE NOT HEX(COLUMN) REGEXP '^([0-7][0-9A-F])*$';

Esta fue la consulta más completa que se me ocurrió.

Depende exactamente de lo que esté definiendo como “ASCII”, pero sugeriría probar una variante de una consulta como esta:

SELECT * FROM tableName WHERE columnToCheck NOT REGEXP '[A-Za-z0-9]';

Esa consulta devolverá todas las filas donde columnToCheck contiene caracteres no alfanuméricos. Si tiene otros caracteres que son aceptables, agréguelos a la clase de caracteres en la expresión regular. Por ejemplo, si los puntos, las comas y los guiones están bien, cambie la consulta a:

SELECT * FROM tableName WHERE columnToCheck NOT REGEXP '[A-Za-z0-9.,-]';

La página más relevante de la documentación de MySQL es probablemente 12.5.2 Expresiones regulares.

Comentarios y puntuaciones

Tienes la opción de favorecer nuestra misión fijando un comentario o dejando una puntuación te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *