diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java b/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java index 934ff98..e8bc381 100644 --- a/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java +++ b/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java @@ -527,7 +527,10 @@ private SerDeUtils() { } public static Text transformTextToUTF8(Text text, Charset previousCharset) { - return new Text(new String(text.getBytes(), previousCharset)); + int length=text.getLength(); + byte[] realContent = new byte[length]; + System.arraycopy(text.getBytes(), 0, realContent, 0, length); + return new Text(new String(realContent, previousCharset)); } public static Text transformTextFromUTF8(Text text, Charset targetCharset) {