Javascript - 数据库条目的 lzw 压缩替代方法

Javascript - Alternative to lzw compression for Database entry

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

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

lzw 压缩得很好,但包含土耳其语字符。然后将这些提交到 MySQL 数据库。

有时 MySQL 可以 'play-up' 而不是正确提交这些,加上问号 '?'代替土耳其字符。即使您正确定义了文本区域,他们也可以执行此操作。导出并重新导入 table 可以解决这个问题。这对我的测试数据库来说很好,但当它上线时我并不满意。

因此我正在寻找 lzw 的替代品,它将压缩但仅使用正常 letters/numbers 等

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

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

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

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

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