這更多的是理論問題,而不是實際問題。 一些基本輸入傳遞給我的服務器。 一般來說,我編碼它,但我做而不是雙重編碼它。在MySQL中以PHP存儲之前的雙重編碼輸入
我在想這個決定可能產生的任何問題。 之一,如果有人進入我的網站上形式在以下兩個字符串:
Apples & Bananas
Apples & Bananas
這些將分別被存儲爲,由於單一的編碼:
Apples & Bananas
Apples & Bananas
如果我將它們輸出,我會先解碼他們。然後,用戶將看到:
Apples & Bananas
Apples & Bananas
的來源是:
Apples & Bananas
Apples & Bananas
因此,我將失去一些提交的結構,因爲以它的編碼版本的實體將基本上相等,一經提交。
我的直覺是,他們應該總是雙重編碼,但我會好奇聽到另一個意見。
我可以建議 - 雙重編碼和存儲正確的數據比有錯誤的數據更好。 您不會丟失有效數據,但數據不正確。爲什麼介意?用戶會很樂意獲得更正的數據。 – RGV
我認爲你使用了錯誤的編碼方法。如果您使用適當的MySQL編碼,則從數據庫讀回時不應更改。 – cgTag
另外,如果您使用PDO對象,則不需要編碼。 – cgTag