drizzledump migration utf8 conversion issue
Bug #709126 reported by
Andrew Hutchings
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Drizzle |
Fix Released
|
High
|
Andrew Hutchings | ||
7.0 |
Fix Released
|
High
|
Andrew Hutchings |
Bug Description
<mbutubuntu> hello folks
<mbutubuntu> I've a problem of charset with drizzle
<mbutubuntu> the same DB has different outputs from MySQL to Drizzle
<mbutubuntu> the problem is that è becomes something like è
...
<marcuse> mbutubuntu: show create table <tablename>
<mbutubuntu> it's not utf
<mbutubuntu> it's latin1
so, either drizzledump is not doing it's job properly or the user has utf8 data stored in a latin1 column. I need to figure out which
Related branches
lp://qastaging/~linuxjedi/drizzle/trunk-bug-709126
- Drizzle Developers: Pending requested
-
Diff: 74 lines (+22/-3)2 files modifiedclient/drizzledump.cc (+4/-3)
docs/clients/drizzledump.rst (+18/-0)
To post a comment you must log in.
How to reproduce:
mysql> set names latin1; èèè');
mysql> create table t1 (a int, b varchar(255));
mysql> insert into t1 values (1,'èèèèèèèèèèè
(note the è has to be a utf8 char)
Drizzledump output: 'utf8_general_ ci';
...
CREATE TABLE `t1` (
`a` INT DEFAULT NULL,
`b` VARCHAR(255) COLLATE utf8_general_ci DEFAULT NULL
) ENGINE='InnoDB' COLLATE=
ALTER TABLE `t1` DISABLE KEYS; èèèè èèèè èèèè ');
INSERT INTO `t1` VALUES (1,'èè
ALTER TABLE `t1` ENABLE KEYS;
...
This is because drizzledump is telling MySQL to convert utf8 characters, which are stored in a latin1 field, into utf8. So basically a double-conversion where one really isn't needed.
Going to play with adding a --my-data- is-mangled option which won't tell MySQL to do the conversion.