零宽空白​特殊字符问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26346941/article/details/80945453

问题描述--生产bug11845-561091800001160598开户名是被保险人,支付对象选择被保险人,提交报错 

                           问题:开户名是被保险人,支付对象选择被保险人,提交报错,实际情况支付对象和被保险人均是“刘发仁”,请核实代码

                         现检查,理赔核心库数据查询该人员姓名为 刘发仁;但是前段页面代码显示 刘发仁​ ;

场景重现:在永安通系统录入收款人信息,收款人录入  刘发仁​ ;保存后页面显示 刘发仁 实际值为 刘发仁​ ;建议永安通查看下数据库存储。

                        该数据流转到理赔核心后数据库显示 刘发仁 ,但是页面代码值为 刘发仁​ ,页面显示未 刘发仁 。

问题分析:​ 这个字符叫做Zero Width Space,中文可称为“零宽空白”,这个字符在主流文本编辑器中均没有任何显示效果,就像一只看不见、摸不着的幽灵。拷贝也会带上零宽空白。

                    在理赔核心录入该字符会存储到数据库可查实,但是在永安通录入该字符数据同步到理赔核心,此时在理赔数据库看不到该字符,猜测在永安通可查看该字符;该问题需要永安通协查

影响范围:添加收款人录入

解决方案 :替换特殊字符

var payeeName = $("#payeeName").val();
$("#payeeName").val(payeeName.replace(/\u200B/g,''));
 
  1. $value = str_replace("\xe2\x80\x8b", '', $value);

  2. $value = str_replace("\xe2\x80\x8c", '', $value);

这些字符其实就是排版过程中产生的,而排版使用的规范是Unicode编码标准 

猜你喜欢

转载自blog.csdn.net/qq_26346941/article/details/80945453