php读取达梦数据库大字段数据被截断问题解决方法

发表时间
评论 没有

最近做信创项目使用的是达梦数据库,其中有一个大文本字段的数据读取出来后面部分是乱码。一开始以为是部分字符转义发生错误,研究错误起始部分发现并没不存在转义,而且隐约可见乱码部分包含源码的字符,而且数据较短时不会出现乱码,考虑是数据被截断造成的。

网上没有找到现成的解决办法,但发现一篇题为“odbc_fetch_array 上的 PHP 字符串限制”的文章,谈到可以在php.ini中设置odbc.defaultlrl值解决。想起配置达梦时直接复制了官网提供的默认参数,于是打开php.ini文件找到

dm.defaultlrl = 4096

其实官方在这里提供了说明,“对于各种变长数据类型,每列最大读取的字节数。”怪自己只是复制粘贴根本没看

改为

dm.defaultlrl =4096000

php可以处理2G长度的字符串,根据数据的需要设置为不超过2G字节即可。

设置完重启php-fpm,再刷新网页显示正常了。

作者
分类 网站建设

评论

本文评论功能已关闭。

← 较早的 较新的 →

相关文章