diff --git a/src/main/java/org/mariadb/jdbc/internal/protocol/AbstractConnectProtocol.java b/src/main/java/org/mariadb/jdbc/internal/protocol/AbstractConnectProtocol.java
index 871402a4..05635c4c 100644
--- a/src/main/java/org/mariadb/jdbc/internal/protocol/AbstractConnectProtocol.java
+++ b/src/main/java/org/mariadb/jdbc/internal/protocol/AbstractConnectProtocol.java
@@ -789,8 +789,8 @@ private void handleConnectionPhases(String host) throws SQLException {
       this.serverMariaDb = greetingPacket.isServerMariaDb();
       this.serverCapabilities = greetingPacket.getServerCapabilities();
 
-      byte exchangeCharset = decideLanguage(greetingPacket.getServerLanguage() & 0xFF);
       parseVersion();
+      byte exchangeCharset = decideLanguage(greetingPacket.getServerLanguage() & 0xFF);
       long clientCapabilities = initializeClientCapabilities(serverCapabilities);
 
       byte packetSeq = 1;
@@ -1060,6 +1060,9 @@ private byte decideLanguage(int serverLanguage) {
         || (serverLanguage >= 192 && serverLanguage <= 215)) {
       return (byte) serverLanguage;
     }
+    if (getMajorServerVersion() == 5 && getMinorServerVersion() <= 1) {
+      return (byte) 33; //utf8_general_ci
+    }
     return (byte) 224; //UTF8MB4_UNICODE_CI;
 
   }
