diff --git a/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/AbstractMysqlFieldReader.java b/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/AbstractMysqlFieldReader.java index 3a3e105fb..e4ed17c9e 100644 --- a/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/AbstractMysqlFieldReader.java +++ b/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/AbstractMysqlFieldReader.java @@ -28,6 +28,7 @@ public abstract class AbstractMysqlFieldReader implements MysqlFieldReader { protected final Logger logger = LoggerFactory.getLogger(getClass()); private static final Set TEXT_DATATYPES = Collect.unmodifiableSet("CHAR", "VARCHAR", "TEXT"); + private static final MySqlValueConverters.CharsetMappingWrapper CHARSET_MAPPING_WRAPPER = new MySqlValueConverters.CharsetMappingWrapper(); private final MySqlConnectorConfig connectorConfig; @@ -71,7 +72,7 @@ public Object readField(ResultSet rs, int columnIndex, Column column, Table tabl try { String columnData = rs.getString(columnIndex); if (columnData != null) { - return columnData.getBytes(column.charsetName()); + return columnData.getBytes(CHARSET_MAPPING_WRAPPER.getJavaEncodingForMysqlCharSet(column.charsetName())); } } catch (UnsupportedEncodingException e) { diff --git a/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/MySqlValueConverters.java b/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/MySqlValueConverters.java index 7f0202b54..2ce0dbac8 100644 --- a/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/MySqlValueConverters.java +++ b/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/MySqlValueConverters.java @@ -77,7 +77,7 @@ public static interface ParsingErrorHandler { /** * Helper to gain access to protected method */ - private final static class CharsetMappingWrapper extends CharsetMapping { + public final static class CharsetMappingWrapper extends CharsetMapping { String getJavaEncodingForMysqlCharSet(String mySqlCharsetName) { return CharsetMapping.getStaticJavaEncodingForMysqlCharset(mySqlCharsetName); }