重新加载后带有特殊字符的jqGrid过滤器问题

Posted

技术标签:

【中文标题】重新加载后带有特殊字符的jqGrid过滤器问题【英文标题】:jqGrid filter issue with special characters after reload 【发布时间】:2021-07-02 20:23:04 【问题描述】:

我们有 jqGrid 表,它将表显示(例如过滤)保存到 DB,以便当用户再次访问该站点时,保留以前的显示。

当页面没有重新加载时,使用特殊字符过滤是可以的。但是,如果使用特殊字符(例如 \b)保存,页面重新加载后会显示不正确的字符。

例如,过滤“\b”时,重新加载后过滤器工具栏上显示的只有“b”(通过F12检查时,来自服务器的值是正确的“\b”但在html上检查时,value= “乙”)。所以我们认为问题可能出在设置 HTML 上。

我们已经尝试使用“自动编码”以防万一它可以提供帮助,但仍然没有运气。

是否有人熟悉可能导致问题的原因?

提前致谢。

【问题讨论】:

【参考方案1】:

如果您通过转义字符搜索 - 例如“\b”,实际上 jqGrid 会构建以下搜索字符串,并将其发送到服务器:

filters: "groupOp":"AND","rules":["field":"ShipName","op":"cn","data":"\\b"]

可以看出,搜索词有一个双“\\”。为了进行正确的搜索,您需要将 \\b 发送到网格 - 即将其正确保存在您的数据库中。

在所有其他情况下,请提供演示问题的工作演示。

为了演示这个问题,你应该在这篇文章中写三个 \ 以显示正确的两个 \ 字符。

【讨论】:

以上是关于重新加载后带有特殊字符的jqGrid过滤器问题的主要内容,如果未能解决你的问题,请参考以下文章

带有特殊字符的 NSPredicate 过滤

如何使用 jQuery DataTables 插件过滤带有特殊字符的结果?

使用分页器时 Jqgrid 不会重新加载

iOS URL带特殊字符(汉字、空格等)导致图片加载失败

删除带有特殊字符的单词

java过滤特殊字符的问题