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

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

本人正在运营一个网站,php开发的,数据库用的是mysql

想问一下超长字符串的压缩问题,

比如一个表中有一个列是text类型的,需要保存用户写的文章,内容通常比较长

通常有上千个字吧。

目前是直接吧这个超长字符串保存到text类型的列中。

但是最近发现这个表占用的容量上升的很快。

所以我想找个办法把这个text列中的字符串压缩一下。

目前尝试的办法是用php的压缩函数,比如gzcompress。

但是用此函数压缩过的字符串中会包含一些单引号之类的特殊字符,

因此保存到数据库时会出错。

另一种办法,mysql 有一个 compress 函数

我用 UPDATE 表名 SET  content = compress(content) 方法一压缩

得到的结果乱七八糟,好像压缩不成功

但是 SELECT compress(content) FROM 表名    是可以成功压缩

在网上查了很久,没有找到好办法

请问各位高手,有什么好办法吗?

通常论坛上用户的超长帖子内容是按照什么办法保存到数据库的呢?

"但是用此函数压缩过的字符串中会包含一些单引号之类的特殊字符,"

插入之前都应该用 addslashes 函数,如 $content = addslashes($content);
应该用户也可以打入单引号的内容啊。

函数具体说明: http://www.phpfans.net/index.php ... mp;type=5&all=0
如履薄冰