暂无图片
AL32UTF8转ZHS16GBK
我来答
分享
Thomas
2022-09-24
AL32UTF8转ZHS16GBK

AL32UTF8和ZHS16GBK是超集和子集的关系。按传统说法,DB端字符集转换的原则是:新字符集必须是旧字符集的超集。可是这篇文章却提供了逆向转换的例子

https://blog.csdn.net/ycwyong/article/details/80269739?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-80269739-blog-86292243.pc_relevant_multi_platform_whitelistv6&spm=1001.2101.3001.4242.1&utm_relevant_index=3

问题:这样转有隐患吗?另外AL32UTF8中一个汉字应该是占4个BYTES吧?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
DarkAthena

AL32UTF8的字符比ZHS16GBK要多,且涵盖了ZHS16GBK中的所有字符。
如果该库数据中的所有字符,在ZHS16GBK中都存在,那么AL32UTF8转ZHS16GBK是没有任何问题的。而如果使用了ZHS16GBK中不存在的字,则无法转换到ZHS16GBK中去。
AL32UTF8对于大部分的汉字,是占3个字节,至于占4个字节的,基本都是生僻字。
可以在这个网页查看汉字在各个字符集的编码
https://www.qqxiuzi.cn/bianma/zifuji.php
image.png

暂无图片 评论
暂无图片 有用 0
愤怒的蜗牛
2022-09-25
学习
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏