暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库存储乱码的一个场景


点击标题下「蓝色微信名」可快速关注

看到薛老师写的这篇文章《数据库中少数民族名字的存储》,还是很感触的,对于数据库乱码的场景曾经碰到很多,原因多种多样的,有时候很棘手,可以平时多积累些这种问题的处理方式,了解了原理,碰到不会慌。

薛老师文章中提到的乱码指的是维族名字中间的"•"。

如下实验中,第1条数据是用标准的点,第2条的这个点不标准,不是字符集中的,但写入可以写入,第3条数据是英文输入法下的句号。

输出结果如下,可以看出3条都是不一样的,而第二条直接是乱码,

 这三条都是怎么来的?

对照编码表可以看到46是句号,而63就是问号(因为无法识别,存储进来就有问题了),

怎么解决?

转换读

对于已知的乱码符号进行转换,

例如输入企业名称中带括号的,有的是 XX(中国),有的是XX(中国),为了在数据库中找得到,就需要将全角半角的都查,给整个字段套上函数,无论等号左边还是右边。但是,这可能就会导致用不到索引,全表扫描。

转换写

录入时候可以自由输入,但是写入时候要通过程序转换为统一的格式。例如点击保存,全部转换成统一的全角格式。例如,

而以上的问题在UTF8字符集中没出现,MySQL的数据库实验,

因此,一方面,需要考虑到数据库字符集,另一方面,控制好数据读写,前端校验好,就可以规避一些乱码的问题。


如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"和"在看",或者直接转发朋友圈,


近期更新的文章:
关于信创操作系统性能的一些问题
裸机GPU vs 虚拟GPU,如何进行选择?
揭开"仿宋"和"仿宋_GB2312"的神秘面纱
Linux性能参数指标中的蛛丝马迹
如何计算MySQL的数据容量?

热文鉴赏:
揭开"仿宋"和"仿宋_GB2312"的神秘面纱
中国队“自己的”世界杯
你不知道的C罗-Siu庆祝动作
架构设计的15个关键概念
大阪环球影城避坑指南和攻略
推荐一篇Oracle RAC Cache Fusion的经典论文
"红警"游戏开源代码带给我们的震撼

文章分类和索引:
公众号1600篇文章分类和索引

文章转载自bisal的个人杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论