TiDB 6.5.2 版本 LongBlob 数据 CAST 报错

【 TiDB 使用环境】测试
【 TiDB 版本】Release Version: v6.5.2
Edition: Community
Git Commit Hash: 29116c0256c52b224da2b34d712c1063d171c0ad
Git Branch: heads/refs/tags/v6.5.2
UTC Build Time: 2023-04-19 10:52:06
GoVersion: go1.19.8
Race Enabled: false
TiKV Min Version: 6.2.0-alpha
Check Table Before Drop: false
Store: tikv
【遇到的问题:问题现象及影响】
由于我的TiDB 6.5.2 数据库中存储了 LongBLOB 字段,这些数据其实是文本数据,但是在使用 CAST 转换的时候有的可以正常转换为中文,有的会报错,请问是什么原因,应该怎么处理?
正常的如下图:


异常的如下图:

我用代码跑了一下,LongBlob中存的数据格式是GB18030,TiDB 6.5.2 有函数能支持SQL中直接提取GB18030的文本吗??

如果数据是以某种字符编码格式存储在 LongBLOB 中,那么直接使用 CAST 可能不会自动识别正确的字符集,可能导致转换错误。你在转换时一定指定正确的字符集。你可以比对在MySQL中,使用 CONVERT(BLOB USING charset) 来尝试解决类似问题。

2 个赞

TiDB不支持

TiDB 不支持 GB18030 编码

不支持gb18030,支持的字符集参考https://docs.pingcap.com/zh/tidb/v7.5/character-set-and-collation

知道啦,谢谢

知道啦,谢谢啦

社区版本不支持,平凯数据库企业版支持。

我这边有7.5.4的企业版看着是没有的呢。

平凯数据库和tidb企业版在国产化XC的feature上有差别。可以联系表妹让他协助联系TiDB商业化团队。

哦哦,理解你的意思了。信创版本确实是有要求支持gb18030的,当前我用的不是信创版本的。

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。