Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql regex utf-8 zeichen

Die Bibliothek regulärer Ausdrücke von MySQL unterstützt utf-8 nicht.

Siehe Bug #30241 Probleme mit regulären Ausdrücken , das seit 2007 offen ist. Sie müssen die von ihnen verwendete Bibliothek für reguläre Ausdrücke ändern, bevor das behoben werden kann, und ich habe keine Ankündigung darüber gefunden, wann oder ob sie dies tun werden.

Die einzige Problemumgehung, die ich gesehen habe, besteht darin, nach bestimmten HEX-Zeichenfolgen zu suchen:

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

Zu Ihrem Kommentar:

Nein, ich kenne keine Lösung mit MySQL.

Möglicherweise müssen Sie zu PostgreSQL wechseln, da dieses RDBMS \u unterstützt Codes für UTF-Zeichen in ihrer Syntax für reguläre Ausdrücke .