如何在数据库 table 列中搜索不可见字符?
How do I search for invisible characters in a database table column?
有问题的数据库 table 有一个唯一的用户名列。当用户名在 phpMyAdmin 或 SqlYog 中列出时,至少会出现一个重复的用户名。
当用户名显示在网页上并检查 HTML 时,可以看到重复的用户名前面有一个 HTML 实体 ‏
(right-to-left mark) 未显示在页面上,因为它没有视觉表示或关联符号。
正在尝试搜索实体:
SELECT * FROM mytable WHERE username LIKE '%‏%';
returns没有结果,因为存储的是不可见符号而不是实体。
从 SqlYog 导出到 Excel 时,它在 Excel 中显示为 –。
从每个用户名中删除用户名中通常存在的可见字符,然后检查哪些用户名仍然不为空但显示为空。
SELECT username,
REGEXP_REPLACE(username, "[\.,{}<>\'a-z0-9@_-]", '') AS second_username
FROM mytable
HAVING second_username <> '';
有问题的数据库 table 有一个唯一的用户名列。当用户名在 phpMyAdmin 或 SqlYog 中列出时,至少会出现一个重复的用户名。
当用户名显示在网页上并检查 HTML 时,可以看到重复的用户名前面有一个 HTML 实体 ‏
(right-to-left mark) 未显示在页面上,因为它没有视觉表示或关联符号。
正在尝试搜索实体:
SELECT * FROM mytable WHERE username LIKE '%‏%';
returns没有结果,因为存储的是不可见符号而不是实体。
从 SqlYog 导出到 Excel 时,它在 Excel 中显示为 –。
从每个用户名中删除用户名中通常存在的可见字符,然后检查哪些用户名仍然不为空但显示为空。
SELECT username,
REGEXP_REPLACE(username, "[\.,{}<>\'a-z0-9@_-]", '') AS second_username
FROM mytable
HAVING second_username <> '';