我使用ASP.NET與SQL服務器。我有一個區域,用戶可以輸入最大數量的文本。我將這個文本編碼爲一個很好的措施,但是當我嘗試將其插入數據庫時,編碼的長度可能會大於此最大值。編碼字符串長度大於max指定用戶
特殊字符被編碼在3個字符。我無法向用戶顯示他已經超過了最大字符數,因爲從他的角度來看,他沒有。我也無法將數據庫字段設置爲最差情況(是我最大金額的3倍)。
你會在這種情況下怎麼辦?
我使用ASP.NET與SQL服務器。我有一個區域,用戶可以輸入最大數量的文本。我將這個文本編碼爲一個很好的措施,但是當我嘗試將其插入數據庫時,編碼的長度可能會大於此最大值。編碼字符串長度大於max指定用戶
特殊字符被編碼在3個字符。我無法向用戶顯示他已經超過了最大字符數,因爲從他的角度來看,他沒有。我也無法將數據庫字段設置爲最差情況(是我最大金額的3倍)。
你會在這種情況下怎麼辦?
如果您的數據庫存儲文本爲Unicode,那麼你就需要在保存之前對其進行編碼。您只需在將其發送回客戶端時對其進行編碼。
我想我會做現場長3倍(但作爲一個varchar以節省空間),或者找到一個不同的編碼機制(儘管這仍可能需要更多的空間)。
對不起,我不能更多的幫助!
你的前端是什麼?什麼是「特殊字符在3個字符上編碼」。意思? – 2011-04-04 15:44:53
不要在你的數據庫中使用html編碼字符串,當你把它們呈現給用戶時就這樣做。 – sisve 2011-04-04 17:12:47
例如,<替換爲<,「替換爲" – user691328 2011-04-05 06:13:07