2013-09-24 141 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