2016-08-20 5 views
2

照合に問題があります。私は日本語をサポートする照合順序を設定したい。たとえば、table.firstnameが 'あ'の場合、 'ぁ'のクエリはレコードを返す必要があります。前もって感謝します。日本語MySQL用スキーマ照合の設定方法

+1

http://dev.mysql.com/doc/refman/5.7/en/faqs-cjk.html – Drew

+1

デフォルトでは、db、table、またはoverrideにすることができます列レベルで – Drew

+0

[** this **]をチェックしてください(http://stackoverflow.com/questions/1045338/which-is-the-best-character-encoding-for-japanese-language-for-db-php- and-html) – 1000111

答えて

2

「大文字」と「小文字」のようなものですが、正しいですか?私はあなたのコラムを変更することをお勧め

mysql> SELECT 'あ' = 'ぁ' COLLATE utf8_general_ci; 
+---------------------------------------+ 
| 'あ' = 'ぁ' COLLATE utf8_general_ci | 
+---------------------------------------+ 
|          0 | 
+---------------------------------------+ 

mysql> SELECT 'あ' = 'ぁ' COLLATE utf8_unicode_ci; 
+---------------------------------------+ 
| 'あ' = 'ぁ' COLLATE utf8_unicode_ci | 
+---------------------------------------+ 
|          1 | 
+---------------------------------------+ 

mysql> SELECT 'あ' = 'ぁ' COLLATE utf8_unicode_520_ci; 
+-------------------------------------------+ 
| 'あ' = 'ぁ' COLLATE utf8_unicode_520_ci | 
+-------------------------------------------+ 
|           1 | 
+-------------------------------------------+ 

COLLATION utf8_unicode_520_ci(またはutf8mb4_unicode_520_ci)をするように。

中国語が含まれることが予想される場合は、必ずutf8mb4を使用してください。 (おそらくこの忠告は漢字にも当てはまります。)

+0

にお答えいただき、ありがとうございました、もし可能なら 'あ' = 'ア'、どのような照合か何かを考えてください。 –

+0

ひらがなAをカタカナAと同じ扱いにしますか? '... unicode_520_ci'はそれらを等しく扱います。それはutf8/utf8mb4で最高のものです。他の_character sets_で利用できるものについては、 'SHOW COLLATION LIKE '%jap%';'を参照してください。 –

+0

素晴らしいです、もう一度ありがとうございます。 –

関連する問題