| Bug #54175 | Connector/J cannot handle supplemental characters supported by utf8mb4 | ||
|---|---|---|---|
| Submitted: | 2 Jun 2010 10:03 | Modified: | 18 Jun 2010 15:55 | 
| Reporter: | Mikiya Okuno | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / J | Severity: | S2 (Serious) | 
| Version: | OS: | Any | |
| Assigned to: | CPU Architecture: | Any | |
   [2 Jun 2010 10:04]
   MySQL Verification Team        
  Adjust host, port, user and password.
Attachment: testmb4.java (application/octet-stream, text), 2.23 KiB.
   [7 Jun 2010 12:33]
   Tonci Grgin        
  Mikiya, if you want you can try this diff. I'll test it today or tomorrow.
   [18 Jun 2010 15:04]
   Mark Matthews        
  Fixed for 5.1.13.
From the changelog:
"Driver doesn't support utf8mb4 for servers 5.5.2 and newer. The
      driver now auto-detects servers configured with character_set_server=utf8mb4 or
      treats the Java encoding "utf-8" passed via "characterEncoding=..." as utf8mb4 in
      the "SET NAMES=" calls it makes when establishing the connection."
 
   [18 Jun 2010 15:55]
   Tony Bedford        
  An entry has been added to the 5.1.13 changelog: Connector/J did not support utf8mb4 for servers 5.5.2 and newer. Connector/J now auto-detects servers configured with character_set_server=utf8mb4 or treats the Java encoding utf-8 passed via characterEncoding=... as utf8mb4 in the SET NAMES= calls it makes when establishing the connection.


Description: Connector/J cannot handle supplemental characters such as u2F9B2. C API can handle them, but Connector/J cannot. How to repeat: Run the attached java program. The expected output is like below, but the actually it gets garbled. mysql [localhost] {msandbox} (test) > select * from t99; +------+ | a | +------+ | 䕫 | +------+ 1 row in set (0.00 sec) Suggested fix: no idea