Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MySQL difficulties - Hiragana and Katakana are treated as the same

Tags:

mysql

unicode

I tried to fetch ピース on mysql database SELECT * FROM edict WHERE japanese = 'ピース' However I got 3 results which are: ヒース ビーズ ピース

I tried to use ぴーす as the query and it also return the same result. SELECT * FROM edict WHERE japanese = 'ぴーす'

How can I solve this problem?

Thank you

like image 910
bbnn Avatar asked Nov 22 '25 14:11

bbnn


1 Answers

I'm not sure about japanese alphabets, but you could use BINARY comparison:

WHERE BINARY japanese = 'ピース'

BINARY keyword casts string to its binary presentation, thus you have "precise" comparison.

Also, if that behaviour should be default for japanese column - you could change its collation to _bin one (it will be more efficient solution, rather than just casting)

like image 173
zerkms Avatar answered Nov 25 '25 03:11

zerkms