Bug #37738 Latin9 for MySQL
Submitted: 30 Jun 2008 11:53 Modified: 8 Oct 2008 12:45
Reporter: Susanne Ebrecht Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Charsets Severity:S4 (Feature request)
Version:5.1, 6.0 OS:Linux (All Linux and Unix systems)
Assigned to: Assigned Account CPU Architecture:Any

[30 Jun 2008 11:53] Susanne Ebrecht
Description:
I tried to verify bug #37724.

I made the following test:

Connection 1:
TERMINAL: UTF8

Open MySQL CLI

create database bug37724latin1 character set latin1;

\u bug37724latin1

create table tlatin1myisam(t varchar(10))engine=myisam;

create table tlatin1innodb(t varchar(10)) engine=innodb;

set names utf8;

show variables like 'char%';

+--------------------------+------------------------------------------------+
| Variable_name            | Value                                          |
+--------------------------+------------------------------------------------+
| character_set_client     | utf8                                           | 
| character_set_connection | utf8                                           | 
| character_set_database   | latin1                                         | 
| character_set_filesystem | binary                                         | 
| character_set_results    | utf8                                           | 
| character_set_server     | latin1                                         | 
| character_set_system     | utf8                                           |

insert into tlatin1myisam values('€');

insert into tlatin1innodb values('€');

select length(t) from tlatin1myisam;
+-----------+
| length(t) |
+-----------+
|         1 | 
+-----------+

select length(t) from tlatin1innodb;
+-----------+
| length(t) |
+-----------+
|         1 | 
+-----------+

select * from tlatin1innodb;
+------+
| t    |
+------+
| €  | 
+------+

select * from tlatin1myisam;
+------+
| t    |
+------+
| €  | 
+------+

Connection 2:
Terminal: ISO-8859-15
Open CLI:

\u bug37724latin1

set names latin1;

show variables like 'char%';
+--------------------------+------------------------------------------------+
| Variable_name            | Value                                          |
+--------------------------+------------------------------------------------+
| character_set_client     | latin1                                         | 
| character_set_connection | latin1                                         | 
| character_set_database   | latin1                                         | 
| character_set_filesystem | binary                                         | 
| character_set_results    | latin1                                         | 
| character_set_server     | latin1                                         | 
| character_set_system     | utf8

select * from tlatin1innodb;
+------+
| t    |
+------+
| €    | 
+------+

select * from tlatin1myisam;
+------+
| t    |
+------+
| €    | 
+------+

In my CLI it looks like "nothing" or better like ''. That there is a sign, I just figured out by copy-paste here.

The problem here is that my client encoding can't display the Euro sign.

ISO-8859-15 of course has the Euro sign. But Euro sign in mysql latin1 is 0x80, in iso-8859-15 it's oxA4

This will hit the whole Unix world.

My feature request is: support a proper LATIN9 which is according to ISO-8859-15. You don't have a chance by using Unix/Linux to make a proper Euro handling otherwise.

How to repeat:
see above

Suggested fix:
it's a feature request
[8 Oct 2008 12:45] Alexander Barkov
This feature request is a duplicate for:

Bug#18576 - Latin1 character set is obsolete, should use euro-compatible latin9
as default