關於js或jquery通過ajax傳遞中文時無法插入mysql數據庫的問題

 在使用js、jquery通過ajax傳遞中文參數的時候,中文參數不能插入數據庫,出現了數據無法寫入數據庫的問題。

js或jquery通過ajax傳遞參數時默認的編碼方式是UTF-8,mysql數據庫字符集設置爲utf-8,腳本字符編碼設置爲utf-8,在把參數值傳遞給服務器上的php腳本時,通過記錄mysql數據庫錯誤日誌發現這樣的錯誤提示:

Error information of Sql query is :Incorrect string value: '\xE5\x82\xBB\xE5\xA4\xA7...' for column 'content' at row 1 

 

 

原因在於插入數據的字符編碼與數據庫設置的字符編碼不一致,導致數據不能正常的裝載到數據庫。但是所有的字符集編碼都設置成的utf-8,不明白爲什麼不能寫入數據庫。

最後測試了幾遍,把js或者jquery傳遞中文參數的編碼轉換成gb2312就能夠順利的插入數據庫。

在php腳本中轉換編碼的方法:md_convert_encoding($paramter,$encodingTo,$encodingForm);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章