2011-04-22 52 views
1

我正在使用mssql後端工作web項目,除了點擊它之外,不在我的控件中。 很多數據都是垃圾字符代替tradmarks,引號,註冊符號和引號。修復字符編碼問題的地方:db插入之前

我渲染的html設置爲utf-8。

這是編碼的問題,應該注意的數據插入數據庫的照顧?

回答

1

這個問題應該考慮到它錯了的地方。如果你試圖在其他地方照顧它,那麼你不解決問題,你只是試圖恢復丟失的數據。

當你處理編碼文本時,你必須一路正確地完成它。如果您在編碼過程中的某一時刻對其進行編碼或對其進行了錯誤的解碼,則無法在其他任何位置進行可靠修復。

您必須通過檢查數據發生了什麼並在其中應用修復來找出文本在何處被錯誤編碼或解碼。

+0

所以,如果我理解你,數據應插入到數據庫正確編碼。在這種情況下,UTF-8,因爲這似乎是HTML的選擇?我知道有一些奇怪的事情將這些數據放到後端數據庫中,而做這件事的人對網絡並不熟悉,儘管他負責@ronn的db – Ronn 2011-04-22 18:53:19

+1

的設計:數據應根據每個步驟的適當內容進行編碼或解碼。將數據存儲在數據庫中時,稍後將顯示在網頁上是無關緊要的,因此唯一擔心的是應該將其正確存儲在數據庫中。當您從數據庫中讀取數據時,您應該準備要在網頁上顯示的文本,其中可能包括將其編碼爲utf-8,但也可能包括html編碼,具體取決於它在html代碼中的使用位置。 – Guffa 2011-04-22 19:28:41

+0

好的。 「應該正確地存儲在數據庫中」這到底意味着什麼?我遇到所有的垃圾字符,因爲它沒有正確存儲在數據庫中的事實? – Ronn 2011-04-22 19:36:12