Javascript - 用于数据库条目的 lzw 压缩的替代方案

标签 javascript mysql compression lzw

我有以下形式的字符串(大约 1-5Kb):

FF,A3V,X7Y,aA4,....

lzw 非常好地压缩这些,但包含土耳其字符。然后将它们提交到 MySQL 数据库。

有时 MySQL 可能会“播放”但无法正确提交这些内容,并放置问号“?”代替土耳其字符。即使您正确定义了文本区域,他们也可以执行此操作。导出并重新导入表可以解决这个问题。这对于我的测试数据库来说很好,但当它上线时我不满意。

因此,我正在寻找 lzw 的替代方案,它将进行压缩,但仅使用普通字母/数字等。

有谁知道避免土耳其字符(以及任何其他非标准字符)的公共(public)域压缩方法?谁能向我指出一些 javascript 代码(或者我可以转换的 c++ 或 c#)?

最佳答案

对评论中所说的内容进行一些扩展...存储字节字符串,例如压缩算法的输出通常包含在 VARCHARCHARTEXT无效。

这些列类型不适用于字节字符串,它们仅适用于有效字符的字符串。并非每个字节串都包含任何给定字符集中的有效字符串...并且 MySQL 不会允许无效字符(对于某些字符集,“字符”和“字节”之间的相关性不是 1 :1)。

在美好的过去™,两者是可以互换的,但现在情况不再是这样了(并且在某种程度上,已经有一段时间没有这样了)。

如果您的列类型是 BINARYVARBINARYBLOB,则问题应该消失,因为这些数据类型适用于二进制数据。

关于Javascript - 用于数据库条目的 lzw 压缩的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30570824/

相关文章:

javascript - 如何计算对象的实例?

php - 如何集成对自动分页插件的支持

javascript - 球弹跳 - javascript

mysql - 存储 facebook 好友 - 超时 - mysql 数据库

python - 如何压缩一个大文件?

javascript - 服务器端使用 Django 访问客户端浏览器的纬度/经度

mysql - 从特定表中最后插入的 id

mysql - 将模式和 SP 从 informix 迁移到 mysql

javascript - 为 Javascript 类型数组创建位掩码

python - 解压bz2文件