用UNION查询的时候遇到一个含中文的字段出现乱码。
两个表的数据本身是正常的,单独查询也是正常,用UNION就出乱码,准确说是在Navicat显示乱码,从Navicat复制到此处时显示正常中文。用VSCode的REST Client发送API请求,发现出现乱码的字段显示如下:
“channel_leave”:{“type”:“Buffer”,“data”:[48,48,52,32,228,186,140,229,143,183,229,135,186,229,143,163]}
正常应该是:
“channel_leave”:“004 二号出口”
UNOIN的第一个表查询对应出乱码的字段是NULL:
(SELECT
…, NULL AS CHANNEL_LEAVE
FROM …
…
WHERE
…
)
UNION
(SELECT
…, sSKJHB AS CHANNEL_LEAVE,…
FROM …
…
WHERE
…
)
TiDB版本是v4.0.9, 用TiUP cluster部署,单机或双机2db, 2kv, 2pd,情况一样