古いギリシャ語の検索機能(Wearch.nl)があります。
古いギリシャ語の単語には突然のアクセントがありますが、ῦはsameと同じではありませんが、「u」と入力するとῦとὐ(および他の5つのバリエーション)の結果が得られます。私は結果を得るためにMySQLのLIKE関数を使用しています。
私はそれらのすべてを検索することができましたが、それが短くて速くなることを願っています。ギリシャ文字をMySQLで検索する関数
2
A
答えて
2
あなたの列(またはテーブル)の文字セットを変更することができます場合は、utf8_general_ci
に設定します(link to manual):
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8_general_ci;
_ci
で示すように、大文字と小文字を区別しません。この文字セット(付き)、アクセント文字が同じ量()collationに使用される値を有するので、それらは)互いに(link to manualと比較した場合、真を返す:
非UCA照合が一対一を有します文字コードから重み付けへのマッピング。 MySQLでは、このような照合は大文字と小文字の区別がありません。 utf8_general_ciは例です: 'a'、 'A'、 'À'、 'á'の文字コードはそれぞれ ですが、すべて0xの0x0041の重みを持ち、等しいと比較します。
mysql> SET NAMES 'utf8' COLLATE 'utf8_general_ci';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT 'a' = 'A', 'a' = 'À', 'a' = 'á';
+-----------+-----------+-----------+
| 'a' = 'A' | 'a' = 'À' | 'a' = 'á' |
+-----------+-----------+-----------+
| 1 | 1 | 1 |
+-----------+-----------+-----------+
1 row in set (0.06 sec)
代わり
、またはあなたがこの方法でデータベース構成を変更することができない場合、あなたはそれらの非アクセントの同等物(すなわちé
- >e
)でアクセント付き文字を置換する関数を書くことができますし、にこれを書きます専用検索フィールド(full-text searchフィールドを推奨)。このフィールドの検索を実行し、アクセント付きのフィールドをアプリケーションに返します。
関連する問題
- 1. ギリシャ文字を文字列で検索するJavaScript文字
- 2. PDF文書内のギリシャ文字を検索する
- 3. MYSQLはギリシャ語で大文字を検出します
- 4. mysqlの全文検索で特殊文字を検索する
- 5. データベースレコード/ Mysqlで文字を検索する
- 6. MySQL検索文字列を
- 7. AngularJsで関数検索文字列
- 8. mysqlストアドプロシージャでギリシャ文字の文字列を渡す?
- 9. strstr()関数のオーバーラップ文字列検索
- 10. のMySQL:部分文字列で検索
- 11. 文字列の日付で検索mysql
- 12. MySql全文検索2文字
- 13. djangoギリシャ文字で注文する
- 14. MYSQL - 一致/文字列内の数字を検索
- 15. ギリシャ文字でexcelを作成する
- 16. MySQL INSTR関数またはLOCATE関数は文字を検索するために使用しますか?
- 17. JavaFxギリシャ文字エンコーディング
- 18. ギリシャ文字でNSString to char *
- 19. MySQLテーブルの^文字の検索
- 20. 検索文字列の春のデータMySQL
- 21. MySqlサブストリングインデックス、文字の検索と置換
- 22. 文字列の文字を含むフィールドをmysqlデータベースで検索する方法
- 23. トルコ語の文字を持つエントリをMysqlで検索する
- 24. MySQLの全文検索の関連性
- 25. 複数テーブルにわたるMysql全文検索の関連性
- 26. MySQL - Djangoはギリシャ文字を表示できません
- 27. フィールド値の文字と数字のみを使用するMySQL検索
- 28. MySQLデータベース全体で文字列を検索するには?
- 29. MySQLフィールドで文字列を検索する
- 30. ArrayListで文字列を検索し、関連する文字列を返す
ご返信ありがとうございます、私はあなたの指示をした、私は文字セットをutf8_general_ciに設定しました。 LIKE関数を使用してサーバー上でクエリを実行すると、次のようになります。 'SELECT * FROM grieks WHERE gr LI LIKE"%ε%LIMIT 0,30' Itすべてのεフォーム(ε、ἔ、έなど)を選択します。しかし、私はこれをPHPからするとうまくいきません。 私は mysql_connect( "localhost"、 "deb ***** _ ******"、 "[password]")を使用します。 mysql_select_db( "deb ***** _ ******")またはdie( "データベースを選択できません"); mysql_query( "SET NAMES 'utf8'"); mysql_query( "SET CHARACTER SET 'utf8'"); ' データベースに接続します。 conectメソッドで何かを変更する必要がありますか? – Joeran
私が使用しない場合 'mysql_query(" SET NAMES 'utf8' "); mysql_query( "SET CHARACTER SET 'utf8'"); ' 私は唯一の疑問符を取得し、ギリシャ文字はありません。 – Joeran
この関数を試してみてくださいhttp://php.net/manual/en/function.mysql-set-charset.phpそしてgotchasのコメントを確認してください:) – Andy