2013-09-24 93 views
0

我在客户端使用js将服务器上的LZW压缩格式的压缩数据发送到服务器。问题是数据在使用SQL保存到数据库后被破坏。将LZW编码的数据保存到mySQL数据库中

所以我的问题是,我应该使用什么排序规则来实现这个目标? (我目前使用的是latin1-default collasion)

我已经检查过,如果问题在数据从客户端传输到服务器时发生延迟,反之亦然,通过向HTTP服务器发送编码数据并发送(PHP-echo)它回到无忧状态没有处理它。我可以正确解码LZW。所以它肯定会成为数据库的问题。

有关架构的更多信息:我只有一个带3列的表。 “数据”是“BLOB”的类型。 (我也尝试过TEXT)。 user_id是INT并且类型是VARCHAR。

这是我如何保存数据:

INSERT INTO svg.saved_data (user_id, data, type) VALUES ('".$user_id."', '".$data."', '".$type."'); 
+0

你是如何插入这些数据的?什么是表格模式?二进制类型列没有任何特定的字符编码。 – tadman

+0

我只是更新了问题并提供了更多信息。 –

+0

你是如何逃避这些价值的? – tadman

回答

0

我不知道你的平台是什么,但下面的链接给你的PHP一般的配方。它有一个应该做你需要的例子。

https://stackoverflow.com/questions/17/binary-data-in-mysql

+0

请注意,[只提供链接的答案](http://meta.stackoverflow.com/tags/link-only-answers/info),所以答案应该是搜索解决方案的终点(vs.而另一个引用的中途停留时间往往会随着时间推移而过时)。请考虑在此添加独立的摘要,并将链接保留为参考。 – kleopatra

+0

明白了,下次我会记住,但链接回到SO,答案直接相关。事实上,这个问题是一个普遍问题的特例,我添加了一个指向更普遍主题的指针。在这种情况下,这个话题恰好是答案。即“SQL中的LZW”=>“SQL中的二进制”。恕我直言,这是逻辑。这是一个很好的书面答案,我可以尝试重新创建它,但我可能会弄糟它。 ....谢谢你的指针。 – Martin