2

いわゆるLeft-to-right mark を含むフィールドについて MySQL にクエリを実行する必要があるという興味深い状況に陥っていることに気付きました。

この文字の性質は印刷されないため、目に見えないため、単純にコピーしてクエリに貼り付けることはできません。

リンクされたウィキペディアの記事で言及されているように、左から右へのマークは Unicode 文字 U+200F であり、これは私の現在の冒険の成功の鍵であると確信しています。

私の質問は、MySQL クエリで生の Unicode を使用するにはどうすればよいですか? 次のようなもの:

SELECT * FROM users WHERE username LIKE '%\U+200F%'

また

SELECT * FROM users WHERE username REGEXP '\U+200F'

または、MySQL の Unicode の正しい構文が何であれ、これがLIKEand/orでサポートされているかどうかによって異なりますREGEXP

4

1 に答える 1

3

Unicode char を取得するには、次のようにします。

SELECT CHAR(<number> USING utf8);

また、REGEXPMySQL で使用される正規表現ライブラリは非常に古く、マルチバイト文字セットをサポートしていないため、使用しないでください。

于 2013-04-24T01:16:29.527 に答える