Bug #43810 | collation problem between 5.0.22 and 5.1.32 version | ||
---|---|---|---|
Submitted: | 23 Mar 2009 19:42 | Modified: | 1 Apr 2009 6:27 |
Reporter: | Toni Sanavullah | Email Updates: | |
Status: | Duplicate | Impact on me: | |
Category: | MySQL Server: Charsets | Severity: | S1 (Critical) |
Version: | 5.1.32 | OS: | Linux (x86_64 x86_64 x86_64 GNU/Linux) |
Assigned to: | Assigned Account | CPU Architecture: | Any |
Tags: | utf8, utf8_general_ci |
[23 Mar 2009 19:42]
Toni Sanavullah
[23 Mar 2009 19:44]
Toni Sanavullah
In the description, the output of 5.1.32 is mysql> select * from xyz where query = 'wesling'; +----------+ | query | +----------+ | wesling | | weÃling | +----------+ 2 rows in set (0.00 sec)
[23 Mar 2009 21:00]
Sveta Smirnova
Thank you for the report. I can not repeat described behavior. Please provide your dump file.
[24 Mar 2009 12:53]
Toni Sanavullah
-- MySQL dump 10.10 -- -- Host: localhost Database: dbutil -- ------------------------------------------------------ -- Server version 5.0.22-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Table structure for table `xyz` -- DROP TABLE IF EXISTS `xyz`; CREATE TABLE `xyz` ( `query` varchar(200) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -- Dumping data for table `xyz` -- /*!40000 ALTER TABLE `xyz` DISABLE KEYS */; LOCK TABLES `xyz` WRITE; INSERT INTO `xyz` VALUES ('wesling'),('weÃling'); UNLOCK TABLES; /*!40000 ALTER TABLE `xyz` ENABLE KEYS */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
[25 Mar 2009 11:05]
Sveta Smirnova
Thank you for the feedback. I still can not repeat described behavior. Please indicate accurate package version (filename) of MySQL 5.1.32 you use.
[25 Mar 2009 17:18]
Toni Sanavullah
Include the following in my.cnf for both 5.0.22 and 5.1.32 default-character-set = utf8 default-collation = utf8_general_ci Set in mysql session: set names utf8 collate utf8_general_ci; MySQL binaries: mysql-5.1.32-linux-x86_64-icc-glibc23.tar.gz mysql-standard-5[1].0.22-linux-x86_64-glibc23.tar.gz uname -a: Linux xxx.xxx.xxx.com 2.6.9-55.ELsmp #1 SMP Fri Apr 20 16:36:54 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
[27 Mar 2009 7:35]
Sveta Smirnova
Thank you for the feedback. Please also provide output of \s (status) command of mysql command line client you use.
[27 Mar 2009 12:32]
Toni Sanavullah
-------------- mysql Ver 14.12 Distrib 5.0.22, for unknown-linux-gnu (x86_64) using readline 5.0 Connection id: 3 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.0.22-standard-log Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /tmp/mysql.sock Uptime: 1 min 6 sec Threads: 1 Questions: 10 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 6 Queries per second avg: 0.152 -------------- -------------- mysql Ver 14.14 Distrib 5.1.32, for unknown-linux-gnu (x86_64) using readline 5.1 Connection id: 17 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.1.32-log MySQL Community Server (GPL) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /tmp/mysqlB.sock Uptime: 3 days 16 hours 58 min 14 sec Threads: 1 Questions: 99 Slow queries: 0 Opens: 24 Flush tables: 1 Open tables: 13 Queries per second avg: 0.0 --------------
[30 Mar 2009 17:41]
MySQL Verification Team
Thank you for the feedback. Could you please provide the output of: select hex(query) from xyz; Thanks in advance.
[31 Mar 2009 15:15]
Toni Sanavullah
mysql> select version(); +---------------------+ | version() | +---------------------+ | 5.0.22-standard-log | +---------------------+ 1 row in set (0.00 sec) mysql> select * from xyz where query = 'wesling'; +---------+ | query | +---------+ | wesling | +---------+ 1 row in set (0.00 sec) mysql> select * from xyz; +----------+ | query | +----------+ | wesling | | weÃing | +----------+ 2 rows in set (0.00 sec) mysql> select hex(query) from xyz; +------------------+ | hex(query) | +------------------+ | 7765736C696E67 | | 7765C39F6C696E67 | +------------------+ 2 rows in set (0.01 sec) mysql> select version(); +------------+ | version() | +------------+ | 5.1.32-log | +------------+ 1 row in set (0.00 sec) mysql> select * from xyz where query = 'wesling'; +----------+ | query | +----------+ | wesling | | weÃing | +----------+ 2 rows in set (0.00 sec) mysql> select hex(query) from xyz; +------------------+ | hex(query) | +------------------+ | 7765736C696E67 | | 7765C39F6C696E67 | +------------------+ 2 rows in set (0.00 sec)
[1 Apr 2009 6:27]
Susanne Ebrecht
Many thanks for writing a bug report. We fixed utf8_general_ci and the German ß now is treated as s in 5.1. Because this has some more unexpected side effects we have had a longer discussion of bug #43306. This is a duplicate of bug #43306. This is a duplicate of bug #43593