Skip to content

Commit ec42fdb

Browse files
committed
This is an automated cherry-pick of pingcap#61080
Signed-off-by: ti-chi-bot <[email protected]> Signed-off-by: xhe <[email protected]>
1 parent 82626f4 commit ec42fdb

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

cmd/explaintest/t/new_character_set.test

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,14 @@ set names utf8mb4;
6767
set @@character_set_client=gbk;
6868
set @@character_set_connection=gbk;
6969
select hex('一a'), '一a';
70+
71+
-- Bug#61085: https://github.com/pingcap/tidb/issues/61085 should replace instead of truncation for result charset
72+
set character_set_results = "gbk";
73+
select cast(0x414141E280A9424242 as char charset utf8mb4);
74+
SET character_set_results = @undefined_var;
75+
create table t61085 (a char(255) charset gbk);
76+
insert into t61085 values ('AAA');
77+
set SESSION sql_mode = '';
78+
--error 1105
79+
select * from t61085 where a = cast(0x41414180424242 as char charset gbk);
80+
DROP TABLE t61085;

server/util.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ func (d *resultEncoder) encodeData(src []byte) []byte {
385385
}
386386

387387
func (d *resultEncoder) encodeWith(src []byte, enc charset.Encoding) []byte {
388-
data, err := enc.Transform(d.buffer, src, charset.OpEncode)
388+
data, err := enc.Transform(d.buffer, src, charset.OpEncodeReplace)
389389
if err != nil {
390390
logutil.BgLogger().Debug("encode error", zap.Error(err))
391391
}

0 commit comments

Comments
 (0)