sql >> Database >  >> RDS >> Mysql

Hoe kan ik niet-ASCII-tekens vinden in MySQL?

MySQL biedt uitgebreid tekensetbeheer dat kan helpen bij dit soort problemen.

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

De CONVERT(col USING charset) functie verandert de niet-converteerbare tekens in vervangende tekens. Dan zijn de geconverteerde en niet-geconverteerde tekst ongelijk.

Zie dit voor meer discussie. https://dev.mysql.com/doc/refman /8.0/en/charset-repertoire.html

U kunt elke gewenste tekensetnaam gebruiken in plaats van ASCII. Als u bijvoorbeeld wilt weten welke tekens niet correct worden weergegeven in codetabel 1257 (Litouws, Lets, Ests), gebruikt u CONVERT(columnToCheck USING cp1257)



  1. Oracle-client en netwerkcomponenten zijn niet gevonden

  2. Sequenties niet beïnvloed door transacties?

  3. Oracle DROP TABLE INDIEN BESTAAT Alternatieven

  4. Wanneer enkele aanhalingstekens, dubbele aanhalingstekens en backticks gebruiken in MySQL?