Mysql
 sql >> Base de données >  >> RDS >> Mysql

caractères mysql regex utf-8

La bibliothèque d'expressions régulières de MySQL ne prend pas en charge utf-8.

Voir Bug #30241 Problèmes d'expression régulière , qui est ouvert depuis 2007. Ils devront changer la bibliothèque d'expressions régulières qu'ils utilisent avant que cela puisse être corrigé, et je n'ai trouvé aucune annonce indiquant quand ou s'ils le feront.

La seule solution de contournement que j'ai vue consiste à rechercher des chaînes HEX spécifiques :

mysql> SELECT * FROM `content` WHERE HEX(`text`) REGEXP 'C3A9C588';
+----------+
| text     |
+----------+
| siréňa   |
+----------+

Concernant votre commentaire :

Non, je ne connais aucune solution avec MySQL.

Vous devrez peut-être passer à PostgreSQL, car ce RDBMS prend en charge \u codes pour les caractères UTF dans leur syntaxe d'expression régulière .