datagrid不能显示数据,原因在于JSON字符串存在特殊字符

最近在使用easyui的datagrid展示报表时老是出现报表不能正常显示的情况,看所拼接而成的JSON格式数据表面上却没任何的问题,根据经验排查了一下所生产字符串中是否含有特殊字符,果然查到部分字段里存在回车换行符,手动替换之后报表显示正常。问题找到了,接下来就是怎么解决问题的事:

一、从根源解决问题,在数据提交保存的时候就把该替换的全替换掉,一劳永逸。但写出来的东西很长,是不是有点难看。

1
content=trim(Replace(Replace(Replace(Replace(Request.Form("content"),Chr(34),Chr(32)),Chr(59),Chr(32)),Chr(13),"")),Chr(10),""))

二、事后诸葛法,就是人家爱怎么保存怎么保存,反正等你保存进来以后,我改改改改

1
2
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%'
本文转自问道博客51CTO博客,原文链接http://blog.51cto.com/450236/1836750如需转载请自行联系原作者                                                      crackernet
上一篇:存储过程案例详解,如何制作一张日历表?


下一篇:一次棘手的数据更新,用游标?还是动态SQL?