Bug #13145 | A table named Ç (C-cedilla) can't be dropped | ||
---|---|---|---|
Submitted: | 13 Sep 2005 16:47 | Modified: | 18 Oct 2005 10:00 |
Reporter: | Peter Gulutzan | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | SUSE 9.2 | OS: | 5.0.13-beta-debug |
Assigned to: | Alexander Barkov | CPU Architecture: | Any |
[13 Sep 2005 16:47]
Peter Gulutzan
[16 Sep 2005 9:18]
Alexander Barkov
Your client seems to be compiled with latin1 as default character set. The problem here is that client doesn't change its character set after calling "SET NAMES" automatically. This is a separate task which will be fixed later when Monty adds a special extension into protocol. If you start "mysql --default-character-set=utf8", C-cedilla works as expected. The reason of this problem is that "mysql" removes trailing control characters from the query before sending it to the server. C-cedilla is 0xC387 in UTF-8. Thus trailing 0x87 is removed from the query when it is sent to the server, because 0x87 is considered to be a control character in latin1. I would close this bug as "not a bug" or "to be fixed later", but there is another problem here: 0x87 and most other characters in the range 0x80..0x9F are valid letters and punctuation characters in cp1252. We forgot to fix "ctype" array when changed meaning of latin1 from iso-8859-1 to cp1252. This is what I'm going to fix under terms of this bug report.
[16 Sep 2005 9:26]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/internals/29979
[14 Oct 2005 9:10]
Alexander Barkov
Fixed in 4.1.16 and 5.0.16.
[18 Oct 2005 10:00]
Stefan Hinz
Added to 5.0.15 changelog.