Bug #8644 | make the cp1250_czech_cs act like latin2_czech_cs | ||
---|---|---|---|
Submitted: | 21 Feb 2005 10:39 | Modified: | 9 Oct 2008 8:09 |
Reporter: | Roman Porizka | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: Charsets | Severity: | S4 (Feature request) |
Version: | 4.1.X, 5.1 | OS: | Linux (any) |
Assigned to: | Assigned Account | CPU Architecture: | Any |
[21 Feb 2005 10:39]
Roman Porizka
[9 Oct 2008 8:09]
Susanne Ebrecht
Many thanks for writing a feature request. I think this is a bug. Here is my test case: Environment encoding: UTF8 set names utf8; create table t_latin2(v varchar(100))default charset=latin2; create table t_1250(v varchar(100))default charset=cp1250; insert into t_latin2 values ('a'),('b'),('c'),('A'),('B'),('C'),('d'),('e'),('f'),('D'),('E'),('F'), ('g'),('h'),('i'),('G'),('H'),('I'),('j'),('k'),('l'),('J'),('K'),('L'), ('m'),('n'),('o'),('M'),('N'),('O'),('p'),('q'),('r'),('P'),('Q'),('R'), ('s'),('t'),('u'),('S'),('T'),('U'),('v'),('w'),('x'),('V'),('W'),('X'), ('y'),('z'),('Y'),('Z'),('á'),('Á'),('ä'),('Ä'),('č'),('Č'),('ď'),('Ď'), ('é'),('É'),('ě'),('Ě'),('í'),('Í'),('ĺ'),('Ĺ'),('ľ'),('Ľ'),('ň'),('Ň'), ('ó'),('Ó'),('ö'),('Ö'),('ř'),('Ř'),('š'),('Š'),('ť'),('Ť'),('ú'),('Ú'), ('ů'),('Ů'),('ü'),('Ü'),('ý'),('Ý'),('ž'),('Ž'),('sa'),('Sa'),('So'),('SO'),('so'),('ch'),('CH'); insert into t_1250 values ('a'),('b'),('c'),('A'),('B'),('C'),('d'),('e'),('f'),('D'),('E'),('F'), ('g'),('h'),('i'),('G'),('H'),('I'),('j'),('k'),('l'),('J'),('K'),('L'), ('m'),('n'),('o'),('M'),('N'),('O'),('p'),('q'),('r'),('P'),('Q'),('R'), ('s'),('t'),('u'),('S'),('T'),('U'),('v'),('w'),('x'),('V'),('W'),('X'), ('y'),('z'),('Y'),('Z'),('á'),('Á'),('ä'),('Ä'),('č'),('Č'),('ď'),('Ď'), ('é'),('É'),('ě'),('Ě'),('í'),('Í'),('ĺ'),('Ĺ'),('ľ'),('Ľ'),('ň'),('Ň'), ('ó'),('Ó'),('ö'),('Ö'),('ř'),('Ř'),('š'),('Š'),('ť'),('Ť'),('ú'),('Ú'), ('ů'),('Ů'),('ü'),('Ü'),('ý'),('Ý'),('ž'),('Ž'),('sa'),('Sa'),('So'),('SO'),('so'),('ch'),('CH'); SELECT * FROM t_latin2 ORDER BY v COLLATE latin2_czech_cs; SELECT * FROM t_1250 ORDER BY v COLLATE cp1250_czech_cs; Result: mysql> SELECT * FROM t_1250 ORDER BY v COLLATE cp1250_czech_cs; +------+ | v | +------+ | A | | a | | Á | | á | | Ä | | ä | ... | W | | w | | X | | x | | Y | | y | | Ý | | ý | | Z | | z | | Ž | | ž | +------+ mysql> SELECT * FROM t_latin2 ORDER BY v COLLATE latin2_czech_cs; +------+ | v | +------+ | a | | A | | á | | Á | | ä | | Ä | ... | w | | W | | x | | X | | y | | Y | | ý | | Ý | | z | | Z | | ž | | Ž | +------+ As you can see: cp1250_czech_cs sorts first capital letter then lower case letter and latin2_czech_cs sorts capital/lowercase vise versa. Verified by using actual MySQL 5.1 bzr tree.