• unknown's avatar
    Bug#28600 Yen sign and overline ujis conversion change · c7dfc326
    unknown authored
    Problem: Unicode->UJIS followed incorrect conversion
    rules for U+00A5 YEN SIGN and U+203E OVERLINE,
    so these characters were converted to ujis 0x8E5C
    and 0x8E7E accordingly.
    
    This behaviour would be correct for a JIS-X-0201 based character set,
    but this is wrong for UJIS, which is documented as x-eucjp-unicode-0.9,
    and which is based on ASCII for the range U+0000..U+007F.
    
    Fix:
    removing JIS-X-0201 conversion rules, making UJIS ASCII compatible.
    YEN SIGN and OVERLINE do not have corresponding UJIS characters anymore
    and converted to 0x3F QUESTION MARK, throwing a warning in appropriative cases.
    
    This patch also includes a test covering full UJIS->Unicode->UJIS mapping.
    
    
    sql/field.cc:
      Nicer error message format:
      always use HEX notation when printing warnings about UCS2 values -
      this is more readable.
    strings/ctype-ujis.c:
      Removing incorrect Unicode->UJIS mapping.
      MySQL "UJIS" is x-eucjp-unicode-0.9.
    mysql-test/r/ctype_ujis_ucs2.result:
      New BitKeeper file ``mysql-test/r/ctype_ujis_ucs2.result''
    mysql-test/t/ctype_ujis_ucs2.test:
      New BitKeeper file ``mysql-test/t/ctype_ujis_ucs2.test''
    c7dfc326
field.cc 258 KB