由於在本地開發一直是使用的sqlite數據庫,隨時刪除和重建,當信心滿滿的將本地所有測試經過的代碼部署到服務器跑單元測試的時候卻出現了一堆測試不經過的例子,發現都實在建立數據的時候提示Incorrect string value: '****.' for column ***
,google了很久,也有人說是數據庫編碼的問題,但是我一直是create database *** default character set utf8
這樣建立數據庫的啊,並且正常的生成數據,不是測試狀態的時候就沒問題。後來仔細看了看django的調試頁面,發現一個隱藏的設置項目,TEST_CHARSET
,而後指定它爲utf8
就行了。python
就是這樣mysql
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'db', 'USER': 'root', 'PASSWORD': 'root', 'HOST': '', 'PORT': '', "TEST_CHARSET": "utf8", } }