PHP 超长字符串压缩保存到 MYSQL 数据库的问题

PHP 超长字符串压缩保存到 MYSQL 数据库的问题,第1张

gzcompress产生特殊字符没问题,保存时用 addslashes(),我自己的经验是slash并没有真的被保存,取出数据后解压一点问题没有。将二进制的文件保存在数据库就这样。如果实在不放心,压缩后用base64_encode(),会增加1/3的量,但如果文本很长,这或许是可以忍受的。

#include <stdio.h>

void stringZip(const char

*pInputStr, long lInputLen, char *pOutputStr)

{ int n=1

char c,*p1=pInputStr,*p2=pOutputStr

while(*p1)

{

c=*(p1++)

while(*p1==c){n++p1++}

if(n>1)

{

if(n>999){*(p2++)=48+n/1000n/=10}

if(n>99){*(p2++)=48+n/100n/=10}

if(n>9){*(p2++)=48+n/10n/=10}

*(p2++)=48+n

}

*(p2++)=c

n=1

}

*p2='\0'

}

void main()

{ char s1[200],s2[200]

gets(s1)

stringZip(s1,strlen(s1),s2)

puts(s2)

}

字符串转换成byte数组String.getBytes(),然后放进一个ByteArrayInputStream输入流中即可存入BLOB字段中

PreparedStatement.setBlob(int parameterIndex, InputStream inputStream)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6691374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存