1、应用场景:mysql中某个数据字段包含换行符,导致前台解析json时报错
“Uncaught SyntaxError: Unexpected token in JSON at position 333”;
2、针对以上可将数据粘贴进notepad++查看,其中问题部分json如下所示
"info":"mysql1,\r\nmysql2"
3、针对上述问题字段在mysql数据库中进行查询,如下语句
select * from test where info like CONCAT('%',char(10),'%');
即可查询test表中info字段中包含换行符的数据有哪些;
4、将包含的换行符去除,执行以下语句即可
update test
set info = replace(replace(info,char(10),''),char(13),'')
where info like concat('%',char(10),'%');
5、除了针对换行符\r\n外,针对\t tab制表位,可采用以下语句
select * from test where info like CONCAT('%\t%');
update test
set info = replace(info,'\t','')
where info like concat('%',char(10),'%');