果然和網上的程式設計師盟友們說的一樣,在Django自帶後臺中經常會出現編碼錯誤,還不大會一開始就顯露出來。
我在更新model以後,試圖提交修改新的Product時,出現下面錯誤:Incorrect string value: '\xE7\xAE\x80\xE5\x8D\x95...' for change_message' at row 1 。
程式設計師們發現問題出在
django_admin_log
這個表中。change_message是該表的一個列。
我想圖省事,想將整個資料庫編碼改成utf8,但是發現不管用。然後我想把
django_admin_log
表的編碼改成utf8,還是不行啦。於是依舊按照網上的辦法,
找到這個表,提交一個query:
“ALTERTABLEdjango_admin_logMODIFYCOLUMNchange_messageVARCHAR(255)CHARACTERSETutf8COLLATEutf8_unicode_ciNOTNULL;”
問題解決掉了。