sql >> データベース >  >> RDS >> Mysql

mysqlregexutf-8文字

    MySQLの正規表現ライブラリはutf-8をサポートしていません。

    バグ#30241正規表現の問題 を参照してください。 、2007年からオープンしています。修正する前に、使用する正規表現ライブラリを変更する必要がありますが、いつ、またはこれを行うかどうかについての発表はありません。

    私が見た唯一の回避策は、特定のHEX文字列を検索することです:

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

    コメントを再確認してください:

    いいえ、MySQLの解決策はわかりません。

    RDBMSは\uをサポートしているため、PostgreSQLに切り替える必要がある場合があります。 正規表現構文 のUTF文字のコード 。



    1. PostgreSQLクエリキャッシングと負荷分散の概要

    2. PHPプリペアドステートメント...REGEXPの数値範囲として変数をバインドしますか?

    3. MySQLサーバーのInnoDBバッファープールサイズの計算

    4. MySQLの更新に(あまりにも)長い時間がかかる