数据库查询遇到字符串零宽空格问题

2024-01-23  本文已影响0人  sdevil507

问题

今天同事发给我一个字符串是一串数字需要到数据库中进行匹配,可是在数据库中却无法查询到该字符串,而其确实是真真实实存在的(着实诡异)

例子如下:

可以复制有问题语句在sql中模拟复现

-- 有问题语句
SELECT * from api_seller_account where phone_number = '1xxxxxxxx77'
-- 正常语句
SELECT * from api_seller_account where phone_number = '1xxxxxxxx77'

解决

通过肉眼观察完全看不出问题所在,一度让人感到诧异

原因是因为,第一个语句的数字部分包含了零宽空格,虽然是空格,通过长度可以发现长了1位,但是通过肉眼却没有办法识别

解决办法是如果出现这样的问题可以通过如下网站对数据进行一下urlEncode()编码一下,就会发现多出的零宽空格

http://tool.chinaz.com/tools/urlencode.aspx

image.png

会发现多出数据如下:


image.png
上一篇 下一篇

猜你喜欢

热点阅读