| Bug #28600 | Yen sign and overline ujis conversion change | ||
|---|---|---|---|
| Submitted: | 22 May 2007 16:36 | Modified: | 6 Jul 2007 3:36 |
| Reporter: | Peter Gulutzan | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Charsets | Severity: | S3 (Non-critical) |
| Version: | 6.0.1-alpha-debug,5.1.19 | OS: | Linux (SUSE 10 64-bit) |
| Assigned to: | Alexander Barkov | CPU Architecture: | Any |
[30 May 2007 11:25]
Alexander Barkov
The patch is available on dev-bugs@mysql.com: bk commit - 5.1 tree (bar:1.2582) For some reasons it didn't arrive to commits@mysql.com and thus didn't attach to the bug report automatically.
[1 Jun 2007 13:21]
Alexander Barkov
Pushed into 5.1.20-rpl
[21 Jun 2007 20:14]
Bugs System
Pushed into 5.1.20-beta
[6 Jul 2007 3:36]
Paul DuBois
Noted in 5.1.20 changelog. Conversion of U+00A5 YEN SIGN and U+203E OVERLINE from ucs2 to ujis produced incorrect results.
[17 Oct 2008 6:24]
Alexander Barkov
See the patch which was applied in the "file" section of this bug.

Description: When I convert U+00A5 YEN SIGN to ujis: in earlier versions, result was 0x20, in current version, result is 0x8E5C, the correct result is 0x3f. When I convert U+203E OVERLINE to ujis: in earlier versions, result was 0x20, in current version, result is 0x8E7E, the correct result is 0x3f. How to repeat: mysql> create table tuj (ucs2 char(1) character set ucs2, -> ujis char(1) character set ujis); Query OK, 0 rows affected (0.23 sec) mysql> insert into tuj (ucs2) values (0xffe4); /* FULLWIDTH BROKEN BAR */ Query OK, 1 row affected (0.38 sec) mysql> insert into tuj (ucs2) values (0x00a5); /* YEN SIGN */ Query OK, 1 row affected (0.00 sec) mysql> insert into tuj (ucs2) values (0x203e); /* OVERLINE */ Query OK, 1 row affected (0.00 sec) mysql> insert into tuj (ucs2) values (0x2014); /* EM DASH */ Query OK, 1 row affected (0.00 sec) mysql> insert into tuj (ucs2) values (0xff3c); /* FULLWIDTH REVERSE SOLIDUS */ Query OK, 1 row affected (0.00 sec) mysql> insert into tuj (ucs2) values (0xff5e); /* FULLWIDTH TILDE */ Query OK, 1 row affected (0.00 sec) mysql> insert into tuj (ucs2) values (0x2225); /* PARALLEL TO */ Query OK, 1 row affected (0.00 sec) mysql> insert into tuj (ucs2) values (0xff0d); /* FULLWIDTH HYPHEN-MINUS */ Query OK, 1 row affected (0.00 sec) mysql> insert into tuj (ucs2) values (0xffe0); /* FULLWIDTH CENT SIGN */ Query OK, 1 row affected (0.00 sec) mysql> insert into tuj (ucs2) values (0xffe1); /* FULLWIDTH POUND SIGN */ Query OK, 1 row affected (0.00 sec) mysql> insert into tuj (ucs2) values (0xffe2); /* FULLWIDTH NOT SIGN */ Query OK, 1 row affected (0.00 sec) mysql> update tuj set ujis = ucs2; Query OK, 11 rows affected, 9 warnings (0.07 sec) Rows matched: 11 Changed: 11 Warnings: 0 mysql> select hex(ucs2),hex(ujis) from tuj; +-----------+-----------+ | hex(ucs2) | hex(ujis) | +-----------+-----------+ | FFE4 | 3F | | 00A5 | 8E5C | | 203E | 8E7E | | 2014 | 3F | | FF3C | 3F | | FF5E | 3F | | 2225 | 3F | | FF0D | 3F | | FFE0 | 3F | | FFE1 | 3F | | FFE2 | 3F | +-----------+-----------+ 11 rows in set (0.08 sec)