2012-01-10 14 views
0

MySQLには、すべてのタイプのテキスト(数字、大文字、ギリシャ語、シクリルリックなど)を含むUTF8テーブルがあります。mysql:データベースにキリル文字やギリシャ語のテキストがあります

--------------- 
ID Name 
--------------- 
001 Jane Smith 
002 John Doe 
003 Джемз Смис 
004 Пэтра Смис 
005 "Groove" Holme 
006 99er Dude 

キリル文字のみを選択するにはどうすればよいですか? (レコードの003および004)、それは正しいだろうが、うまくいきませんでしたように見えた以下の答えのための

EDIT

おかげで、。より多くの研究は、マニュアルでこれを回し:

警告

バイト単位方式でREGEXPとRLIKEオペレーターの仕事なので、彼らが ないマルチバイトでも安全であり、マルチバイトで予期しない結果が発生する可能性があり 文字セット。さらに、これらの演算子は、 の文字とそのバイト値を比較し、アクセント付きの文字は、指定された照合でそれらを等しく扱っても、 とは比較できません。

編集編集、SOLUTION

は私が検出したPHPに続いなどスクリプトタイプを格納し、私のデータベース、例えばキリル文字、タイ走ったバッチ処理に余分なフィールドを追加することによって、これを解決しましたスクリプトを実行して情報をデータベースに格納します。

PHPでスクリプトを検出するには、Unicode regex関数を使用します。このページを参照してください:

http://www.regular-expressions.info/unicode.html

答えて

5

、それはすべての文字をカバーする場合、私は知りませんが、あなたがこれを使用することができるはずです。少なくとも一つのキリル文字を含むすべてのエントリを返します

SELECT * FROM table WHERE Name REGEXP '[Α-Ωα-ωА-Яа-я]' 

またはギリシャ文字

+0

@はうまくいきません。質問に編集してください、ドキュメントに沿って私を微調整してくれてありがとう。 – soupagain

+0

@soupagain hm、問題ありません:)しかし、それは(あなたの名前で)試してみると私のために働くが、いつでもどこでも動作しないことがある – boobiq

関連する問題