Modified:
branches/branch_5_0/connector-j/CHANGES
branches/branch_5_0/connector-j/src/com/mysql/jdbc/CharsetMapping.java
branches/branch_5_0/connector-j/src/com/mysql/jdbc/Connection.java
Log:
Added new _ci collations to CharsetMapping, fixing Bug#22456 - utf8_unicode_ci not
working.
Modified: branches/branch_5_0/connector-j/CHANGES
===================================================================
--- branches/branch_5_0/connector-j/CHANGES 2006-09-19 00:01:33 UTC (rev 5747)
+++ branches/branch_5_0/connector-j/CHANGES 2006-09-19 01:45:03 UTC (rev 5748)
@@ -34,6 +34,9 @@
prepare(stored procedure) and substitutes client-side prepared
statement), addresses BUG#22297.
+ - Added new _ci collations to CharsetMapping, fixing
+ Bug#22456 - utf8_unicode_ci not working.
+
07-26-06 - Version 5.0.3
- Fixed BUG#20650 - Statement.cancel() causes NullPointerException
Modified: branches/branch_5_0/connector-j/src/com/mysql/jdbc/CharsetMapping.java
===================================================================
--- branches/branch_5_0/connector-j/src/com/mysql/jdbc/CharsetMapping.java 2006-09-19
00:01:33 UTC (rev 5747)
+++ branches/branch_5_0/connector-j/src/com/mysql/jdbc/CharsetMapping.java 2006-09-19
01:45:03 UTC (rev 5748)
@@ -235,7 +235,7 @@
MULTIBYTE_CHARSETS = Collections.unmodifiableMap(tempMapMulti);
- INDEX_TO_CHARSET = new String[99];
+ INDEX_TO_CHARSET = new String[211];
try {
INDEX_TO_CHARSET[1] = getJavaEncodingForMysqlEncoding("big5", null);
@@ -399,6 +399,85 @@
null);
INDEX_TO_CHARSET[98] = getJavaEncodingForMysqlEncoding("eucjpms",
null);
+
+ INDEX_TO_CHARSET[128] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[129] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[130] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[131] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[132] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[133] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[134] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[135] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[136] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[137] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[138] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[139] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[140] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[141] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[142] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[143] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[144] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[145] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+ INDEX_TO_CHARSET[146] = getJavaEncodingForMysqlEncoding("ucs2",
+ null);
+
+ INDEX_TO_CHARSET[192] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[193] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[194] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[195] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[196] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[197] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[198] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[199] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[200] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[201] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[202] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[203] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[204] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[205] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[206] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[207] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[208] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[209] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+ INDEX_TO_CHARSET[210] = getJavaEncodingForMysqlEncoding("utf8",
+ null);
+
} catch (SQLException sqlEx) {
// ignore, it won't happen in this case
}
Modified: branches/branch_5_0/connector-j/src/com/mysql/jdbc/Connection.java
===================================================================
--- branches/branch_5_0/connector-j/src/com/mysql/jdbc/Connection.java 2006-09-19 00:01:33
UTC (rev 5747)
+++ branches/branch_5_0/connector-j/src/com/mysql/jdbc/Connection.java 2006-09-19 01:45:03
UTC (rev 5748)
@@ -2341,6 +2341,14 @@
String serverEncodingToSet =
CharsetMapping.INDEX_TO_CHARSET[this.io.serverCharsetIndex];
+ if (serverEncodingToSet == null || serverEncodingToSet.length() == 0) {
+ throw SQLError.createSQLException(
+ "Unknown initial character set index '"
+ + this.io.serverCharsetIndex
+ + "' received from server. Initial client character set can be forced via the
'characterEncoding' property.",
+ SQLError.SQL_STATE_GENERAL_ERROR);
+ }
+
if (versionMeetsMinimum(4, 1, 0) &&
"ISO8859_1".equalsIgnoreCase(serverEncodingToSet)) {
serverEncodingToSet = "Cp1252";
| Thread |
|---|
| • Connector/J commit: r5748 - in branches/branch_5_0/connector-j: . src/com/mysql/jdbc | mmatthews | 19 Sep |