mysql 去除不可见字符

数据库 / 2018年07月17日 10时07分 / 6739人浏览
数据库utf8字符集,在查询数据时发现,按照字段显示的字符查询查不到结果。 第一反应,前后可能有空格,去掉空格后依然如此。 可以肯定存在UTF8不可见字符,想个办法让它显型。于是用到了MySQL的hex函数,把字符串的hex输出来对比。 发现多出"efbc9f"字符,将这个十六进制数换成十进制为15711391,用REPLACE替换掉。
-- 全部去除空格
update lostphp_table set s_name = trim(s_name)

-- 拿出一条 查找区别
SELECT hex(s_name),hex('有不可见字符?'),s_name FROM lostphp_table WHERE s_id = 1 

-- 全部替换不可见字符
UPDATE lostphp_table SET s_name = REPLACE (s_name, CHAR('15711391'), '') 

-- 全部拼接字符串
UPDATE lostphp_table SET s_name = REPLACE (s_name,s_name,CONCAT(s_name,'?'))