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:
None 
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

[22 May 2007 16:36] Peter Gulutzan
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)
[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.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.055 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.