sql >> Databasteknik >  >> RDS >> Mysql

mysql regex utf-8 tecken

MySQL:s reguljära uttrycksbibliotek stöder inte utf-8.

Se Bug #30241 Problem med reguljära uttryck , som har varit öppet sedan 2007. De kommer att behöva ändra biblioteket för reguljära uttryck de använder innan det kan fixas, och jag har inte hittat något meddelande om när eller om de kommer att göra detta.

Den enda lösningen jag har sett är att söka efter specifika HEX-strängar:

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

Angående din kommentar:

Nej, jag känner inte till någon lösning med MySQL.

Du kanske måste byta till PostgreSQL, eftersom det RDBMS stöder \u koder för UTF-tecken i deras syntax för reguljära uttryck .



  1. Ändra ett SQL Server Agent Schema (T-SQL)

  2. är php sortering bättre än mysql sortering efter?

  3. Kan ett bord ha flera primärnycklar?

  4. Vad är Javas JPA-teknik?