Skip to content

Commit

Permalink
[CONJ-797] autodetection connection collation set to utf8mb4 equivale…
Browse files Browse the repository at this point in the history
…nt collation for server configured to use UTF8mb3 collation
  • Loading branch information
rusher committed Jun 8, 2020
1 parent 87565cd commit 6edc091
Showing 1 changed file with 18 additions and 0 deletions.
Expand Up @@ -1200,10 +1200,28 @@ private byte decideLanguage(int serverLanguage) {
|| (serverLanguage >= 224 && serverLanguage <= 247)) {
return (byte) serverLanguage;
}

if (getMajorServerVersion() == 5 && getMinorServerVersion() <= 1) {
// 5.1 version doesn't know 4 bytes utf8
return (byte) 33; // utf8_general_ci
}

// if server language is utf8mb3, use utf8mb4 equivalent collation
if (serverLanguage == 33) {
// utf8mb4_general_ci
return 45;
}

if (serverLanguage == 83) {
// utf8mb4_bin
return 46;
}

if (serverLanguage >= 192 && serverLanguage <= 215) {
// equivalent utf8mb4 collation
return (byte) (serverLanguage - 32);
}

return (byte) 224; // UTF8MB4_UNICODE_CI;
}

Expand Down

0 comments on commit 6edc091

Please sign in to comment.