Bug #66939 | g-circumflex and s-circumflex considered the same character in utf8_unicode_ci | ||
---|---|---|---|
Submitted: | 24 Sep 2012 1:18 | Modified: | 24 Sep 2012 13:09 |
Reporter: | Edoardo Nannotti | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: Charsets | Severity: | S3 (Non-critical) |
Version: | 5.1.63 | OS: | Linux |
Assigned to: | CPU Architecture: | Any |
[24 Sep 2012 1:18]
Edoardo Nannotti
[24 Sep 2012 7:35]
Peter Laursen
Does not happen for me on neither 5.1.63 nor 5.5.23: SET NAMES utf8 COLLATE utf8_unicode_ci; SELECT 'ĝ' = 'ŝ'; -- returns "0" SET NAMES utf8 COLLATE utf8_general_ci; SELECT 'ĝ' = 'ŝ'; -- returns "0" CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; USE mydb; CREATE TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci); INSERT INTO t VALUES ('ĝuo'); INSERT INTO t VALUES ('ŝuo'); SELECT * FROM t WHERE c='ŝuo'; -- 1 row returned Now also try: SHOW VARIABLES LIKE '%coll%'; /* where I have Variable_name Value -------------------- ----------------- collation_connection utf8_general_ci collation_database utf8_general_ci collation_server utf8_general_ci */ The culprit could be "collation_connection" setting Peter (not a MySQL/Oracle person)
[24 Sep 2012 7:37]
Peter Laursen
I am using 64 bit Windows servers BTW.
[24 Sep 2012 13:09]
MySQL Verification Team
Thank you for the bug report. mysql> SELECT * FROM t; +------+ | c | +------+ | ĝuo | | ŝuo | +------+ 2 rows in set (0.00 sec) mysql> SELECT * FROM t WHERE c='ŝuo'; +------+ | c | +------+ | ŝuo | +------+ 1 row in set (0.00 sec) mysql> show variables like "%version%"; +-------------------------+---------------------+ | Variable_name | Value | +-------------------------+---------------------+ | protocol_version | 10 | | version | 5.1.67-debug-log | | version_comment | Source distribution | | version_compile_machine | x86_64 | | version_compile_os | unknown-linux-gnu | +-------------------------+---------------------+ 5 rows in set (0.00 sec)