sql >> Databáze >  >> RDS >> Mysql

mysql regex utf-8 znaků

Knihovna regulárních výrazů MySQL nepodporuje utf-8.

Viz Chyba č. 30241 Problémy s regulárním výrazem , která je otevřená od roku 2007. Než to bude možné opravit, budou muset změnit knihovnu regulárních výrazů, kterou používají, a nenašel jsem žádné oznámení, kdy nebo zda to udělají.

Jediné řešení, které jsem viděl, je hledat konkrétní HEX řetězce:

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

K vašemu komentáři:

Ne, neznám žádné řešení s MySQL.

Možná budete muset přejít na PostgreSQL, protože tento RDBMS podporuje \u kódy pro znaky UTF v jejich syntaxi regulárních výrazů .



  1. MySQL získá první nenulovou hodnotu po seskupení podle

  2. Použití relačních databází MySQL na Arch Linuxu

  3. Vypočítaný sloupec v EF Code First

  4. Nejlepší řešení stránkování pomocí SQL Server 2005?