我有一個捕獲<input type="text">
和<textarea>
元素的Web表單。後端技術是PHP和MySQL。Web表單到數據庫存儲的端到端過程的最佳實踐
- MySQL數據庫,表和列的排序規則都
utf8_general_ci
- 輸入表單數據消毒與
stripslashes($_POST['text_input'])
- 的INSERT INTO查詢語句看起來像
SET text_storage = "mysql_real_escape_string($_POST['text_input'])"
我看到不可讀數據庫中的字符是由於特殊字符(如單引號和雙引號等)的變化而導致的。
什麼是最好的編碼實踐 - 每一步 - 確保數據庫表中清潔可讀的數據?我是否還需要某個<doctype>
或<meta http-equiv="Content-Type" ... />
以便捕獲和存儲清潔數據?
感謝您幫助我構建清潔數據捕獲和存儲的最佳實踐模板。
好@budiony,我會補充說。但是,如果我的DB/Tables/Columns都設置爲整理utf8,那麼2個預查詢的意義是什麼? – 2012-02-27 14:54:52
相信我,它對返回的結果集有重大影響。這件事困擾了我很長時間,直到我在每次查詢之前手動更改這些參數運行時。 – bodi0 2012-02-27 14:57:30
謝謝@budiony。我實施了你的查詢,他們清理了一切。真棒! – 2012-03-07 14:45:00