特别是oracle数据库,那个二进制有点麻烦,varchar2 的4000长度的字符有的时候还存不下,比如存点Html什么的。
可以用PHP相关的压缩函数:
压缩函数:gzcompress gzdeflate gzencode
与之对应的解压函数如下:
解压函数:gzuncompress gzinflate gzdecode
特别注意:gzdecode是PHP 5.4.0之后才加入的,使用的时候要注意兼容性问题。
gzcompress gzdeflate gzencode函数的区别在于它们压缩的数据格式不同:
gzcompress使用的是ZLIB格式;
gzdeflate使用的是纯粹的DEFLATE格式;
gzencode使用的是GZIP格式;
用一段代码测试一下看看
$test_string="123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789123456789"; var_dump($test_string);//原字符串长度 var_dump(gzcompress($test_string));//gzcompress压缩后 var_dump(gzdeflate($test_string));//gzdeflate压缩后 var_dump(gzencode($test_string));//gzencode压缩后 var_dump(gzuncompress(gzcompress($test_string)));//gzcompress压缩后再解压缩回来 var_dump(gzinflate(gzdeflate($test_string)));//gzdeflate压缩后再解压缩回来 var_dump(gzdecode(gzencode($test_string)));//gzencode压缩后再解压缩回来
原文地址:https://www.cnblogs.com/lizhaoyao/p/6289824.html
------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------
转载请注明本文标题和链接:《php字符串长度超过数据库长度,又不想用二进制的时候》
发表评论