diff --git a/expression/integration_test.go b/expression/integration_test.go index 44d0eaaef43a7..f3973d3c564fa 100644 --- a/expression/integration_test.go +++ b/expression/integration_test.go @@ -871,8 +871,8 @@ func (s *testIntegrationSuite) TestStringBuiltin(c *C) { result.Check(testkit.Rows("'121' '0' '中文' ")) // for convert - result = tk.MustQuery(`select convert("123" using "866"), convert("123" using "binary"), convert("中文" using "binary"), convert("中文" using "utf8"), convert(cast("中文" as binary) using "utf8");`) - result.Check(testkit.Rows("123 123 中文 中文 中文")) + result = tk.MustQuery(`select convert("123" using "866"), convert("123" using "binary"), convert("中文" using "binary"), convert("中文" using "utf8"), convert("中文" using "utf8mb4"), convert(cast("中文" as binary) using "utf8");`) + result.Check(testkit.Rows("123 123 中文 中文 中文 中文")) // for insert result = tk.MustQuery(`select insert("中文", 1, 1, cast("aaa" as binary)), insert("ba", -1, 1, "aaa"), insert("ba", 1, 100, "aaa"), insert("ba", 100, 1, "aaa");`) diff --git a/util/charset/encoding_table.go b/util/charset/encoding_table.go index e488ccb346cff..37a5550b79425 100644 --- a/util/charset/encoding_table.go +++ b/util/charset/encoding_table.go @@ -42,6 +42,7 @@ var encodings = map[string]struct { "unicode-1-1-utf-8": {encoding.Nop, "utf-8"}, "utf-8": {encoding.Nop, "utf-8"}, "utf8": {encoding.Nop, "utf-8"}, + "utf8mb4": {encoding.Nop, "utf-8"}, "binary": {encoding.Nop, "binary"}, "866": {charmap.CodePage866, "ibm866"}, "cp866": {charmap.CodePage866, "ibm866"},