美文网首页让前端飞
前端特殊字符串的一些问题

前端特殊字符串的一些问题

作者: keenjaan | 来源:发表于2018-01-12 15:41 被阅读0次

本文记录项目开发中遇到的一些问题,怕自己忘记了,所以做个标记记录下来方便以后深入学习。可以忽略本篇文章。

前段时间开发时遇到个问题,公司测试妹子说这个页面有报错,页面不能正常显示。我的第一反应是怎么可能,心里想着我写的代码很少有bug的,并且我已经测试过了,没有问题啊(自恋了)。于是我回了句,你看一下是不是后端接口报错了。没一会儿,妹子回话了,接口没有报错,是你的bug赶紧修改下。

于是我放下手里的活,要了测试账号开始调试起来,最后定位到是个json解析错误。我将要解析的字符串打印出来,发现该字符串不是json格式的,很明显的被截断了。找了很长一段时间加上询问才找到问题根源。原来测试妹子在测试接口时,上传了特殊字符,一个手指图标。是utf-8的四字节特殊字符。而后端mysql数据库并不支持这类特殊字符的储存,就直接截断了,导致返回数据json解析时报错了。

所以主要是后端来解决,有三种方式:
1、最简单的是升级mysql到5.5.3版本,该版本支持特殊字符,
2、直接过滤掉特殊字符。
3、就是读取时要进行其他转码。
这里有篇文章关于4字节utf-8乱码问题解决方案

后面测试时又遇到一个问题,在登录的时候,发现一个手机号通过不了验证,看着又没有问题,最后发现由于手机号码是复制的,复制的号码前带有一个特殊的unicode字符,导致验证不通过。但是这个字符不占任何位置,看上去就跟没有一样。它就是\u202d这个字符。

说到这个字符就要说到\u202e这个字符,这两个字符是一对,\u202e是对字符进行反转,\u202d是将反转的字符恢复正常。他们都不占据位置,所以正常情况下根本看不到。

关于这个字符查看这篇文章

关于这些特殊编码,有好多坑,做个记录,有时间要看看。

相关文章

  • 前端特殊字符串的一些问题

    本文记录项目开发中遇到的一些问题,怕自己忘记了,所以做个标记记录下来方便以后深入学习。可以忽略本篇文章。 前段时间...

  • 2021-05-14 防止xss攻击

    前端过滤在表单上传时,将特殊字符串替换 可以在请求的拦截中统一拦截,来替换字符串

  • String(字符)篇

    1.字符串的一些问题 2.字符串属性和方法 字符串属性 字符串方法 javascript == 与 ===区别

  • FE团队管理

    大前端是一个很特殊的研发群体,和后端、机器学习有很大的区别,主要说说大前端的特殊性 大前端 我理解的大前端,包括w...

  • NSString使用stringWithFormat拼接

    字符串中有特殊符号 ” 字符串中有特殊符号 % 用 0 补全的方法 保留 2 位小数点

  • 字符串

    字符串http://book.jirengu.com/fe/前端基础/Javascript/字符串.html 字符...

  • 初学前端,学习路线图必不可少,更有【95页】初级前端模块笔记分享

    前言 在初学前端的时候,我们总会遇到一些问题,我们可以在网上看到很多关于前端的这些问题: 你们都是怎么学web前端...

  • 常用正则表达式和实例

    正则表达式是包含文本和特殊字符串的字符串 目录 # 常见特殊符号和字符 # 择一符号,方便匹配多个字符串 | # ...

  • PHP全栈学习笔记3

    trim()函数,用于去除字符串首尾空格和特殊字符返回的是去掉的空格和特殊字符后的字符串 ltrim()函数,用于...

  • PHP全栈学习笔记3

    trim()函数,用于去除字符串首尾空格和特殊字符返回的是去掉的空格和特殊字符后的字符串 ltrim()函数,用于...

网友评论

    本文标题:前端特殊字符串的一些问题

    本文链接:https://www.haomeiwen.com/subject/myijnxtx.html