Bug #41752 | Can't connect mysqld which character_set_server=ucs2 | ||
---|---|---|---|
Submitted: | 26 Dec 2008 6:25 | Modified: | 2 Aug 2012 21:18 |
Reporter: | Sadao Hiratsuka (Basic Quality Contributor) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Connector / J | Severity: | S3 (Non-critical) |
Version: | 5.1.7 | OS: | Any |
Assigned to: | Alexander Soklakov | CPU Architecture: | Any |
Tags: | encoding, qc |
[26 Dec 2008 6:25]
Sadao Hiratsuka
[26 Dec 2008 9:03]
Sveta Smirnova
Thank you for the report. Verified as described.
[6 Jan 2009 18:34]
Mark Matthews
The issue is that ucs2 is *not* usable as a client character set. I suppose the driver will have to check if ucs2 is the server character set, and use utf-8 instead, however our utf-8 implementation doesn't cover the full repertoire of ucs-2, so....truncation might occur in some cases.
[2 Aug 2012 21:18]
John Russell
Added to changelog for 5.1.22: Connecting to a server that used a UCS2 character set would throw an exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '??' at line 1 Now, Connector/J sets characterEncoding implicitly to UTF-8 when the server character set is UCS2. Because the Connector/J UTF-8 implementation does not cover all UCS-2 characters, note that truncation might occur in some cases.