最近在使用easyui的datagrid展示报表时老是出现报表不能正常显示的情况,看所拼接而成的JSON格式数据表面上却没任何的问题,根据经验排查了一下所生产字符串中是否含有特殊字符,果然查到部分字段里存在回车换行符,手动替换之后报表显示正常。问题找到了,接下来就是怎么解决问题的事:
一、从根源解决问题,在数据提交保存的时候就把该替换的全替换掉,一劳永逸。但写出来的东西很长,是不是有点难看。
content=trim(Replace(Replace(Replace(Replace(Request.Form("content"),Chr(34),Chr(32)),Chr(59),Chr(32)),Chr(13),"")),Chr(10),""))
二、事后诸葛法,就是人家爱怎么保存怎么保存,反正等你保存进来以后,我改改改改
update orderRecord set Content=REPLACE(LTRIM(RTRIM(Content)),CHAR(13),‘b‘) where Content like‘%[‘+CHAR(13)+‘]%‘ and orderid like‘20160810%‘ update orderRecord set Content=REPLACE(LTRIM(RTRIM(Content)),CHAR(10),‘b‘) where Content like‘%[‘+CHAR(10)+‘]%‘ and orderid like‘20160810%‘
datagrid不能显示数据,原因在于JSON字符串存在特殊字符
原文地址:http://450236.blog.51cto.com/440236/1836750