富文本编辑
解决中

单引号 ' 保存到数据库中变成了' 悬赏5积分

张济骞 答案数1 阅读数77 发表时间2024-06-25 15:45:31

新建了一个模块, 其中一个字段人名在数据库表中使用varchar存储,外国人名有单引号',使用$this->dao->insert()以后,在数据库中被存储为' 数据库编码为utf8mb4

怎么解决

禅道版本:12.5.3源码包

操作系统:CentOS

客户端浏览器:Chrome

备注

通过网络请求可以查看到页面传入的form data中的数据仍然是正常的单引号'。


更新:尝试了php层面使用html_entity_decode()进行转义无效。最终暂时在js层面强行replace了'为单引号,以后遇到其它符号有问题再解决吧

设置备注
内容
答案列表
2024/06/25
这边针对单引号被转义的问题,使用的是html_entity_decode()进行的转义
例:

🍉
2024/06/25
我尝试使用了html_entity_decode(),但并不能将我select得到的字符串L'Huillier转义成L'Huillier
2024/06/25
二次开发的内容需要贵公司具体调试一下了。可以下载禅道新版的代码参考下禅道新版中对单引号转义的代码,在zentao/module/testcase/model.php 和zentao/module/testcase/control.php。
禅道官网下载地址:https://www.zentao.net/downloads.html
🍉
2024/06/26
谢谢。最终暂时在js层面强行replace了'为单引号,以后遇到其它符号有问题再解决吧
2024/06/26
????
2024/06/26
🍉
2024/06/27
通过进一步打印输出发现,虽然数据库中存储的是' 但是我利用$this->dao->select得到的object进行打印显示select出来字符串中是正确的单引号。我在views中使用,得到的也是正常的单引号。 但是当我使用die(json_encode($objectName));后,views得到的数据又变成了' 而我之所以必须使用die(json_encode($objectName));进行返回,是由于引入的fullcalendar初始化数据的要求。而所以有点迷茫,感觉问题出在die(json_encode上,但是不知道如何解决。 最后破罐子破摔直接js replace完事
🍉
2024/06/27
但是当我使用die(json_encode($objectName));后,js得到的网络返回又变成了'
2024/06/27
二次开发细节需要贵公司自己调试一下。
联系我们
联系人
刘璐/高级客户经理
电话(微信)
18562550650
QQ号码
2845263372
联系邮箱
liulu@easycorp.ltd
返回顶部
刘璐
高级客户经理
18562550650
2845263372
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。