今天重灌了win10系統,需要重搭開發環境。
但在重灌django包的時候出現了安裝錯誤:unicodedecodeerror: 『ascii』 codec can』t decode…
懷疑是重灌系統時把使用者名稱設為中文名的緣故。於是在d:\python\lib\下找到ntpath.py檔案 ,瘋狂列印,在下面列印路徑的時候發現並確認了是這個原因
# join two (or more) paths.
def join(path, *paths):
"""join two or more pathname components, inserting "\\" as needed."
"" result_drive, result_path = splitdrive(path)
for p in paths:
p_drive, p_path = splitdrive(p)
if p_path and p_path[0]
in'\\/'
:# second path is absolute
if p_drive or not result_drive:
result_drive = p_drive
result_path = p_path
continue
elif p_drive and p_drive != result_drive:
if p_drive.lower(
)!= result_drive.lower(
): # different drives => ignore the first path entirely
result_drive = p_drive
result_path = p_path
continue
# same drive in different case
result_drive = p_drive
# second path is relative to the first
if result_path and result_path[-1] not in
'\\/'
: result_path = result_path + '\\'
result_path = result_path + p_path
print result_path # 把路徑列印出來
## add separator between unc and non-absolute path
if(result_path and result_path[0] not in
'\\/' and
result_drive and result_drive[-1:]
!=':'
): return result_drive + sep + result_path
return result_drive + result_path
解決:
方法一:在ntpath.py檔案開頭新增以下**即可
import sys
defaultencoding =
'utf-8'
if sys.getdefaultencoding(
)!= defaultencoding:
reload(sys)
sys.setdefaultencoding(defaultencoding)
方法二:修改使用者名為英文或切換使用者 Django漢字Cookie編碼問題
解決這個問題很簡單,只需要將cookie由 unicode 型別轉為 str 型別就可以了,可以用傳統的方法,如 from urllib import unquote un u 漢字 response.set cookie username un unicodeencodeerror un2 unq...
安裝pymongo的編碼問題
安裝好mongodb後安裝mongo python驅動 在命令列輸入 easy install pymongo 出現問題 unicodedecodeerror ascii codec can t decode byte 0xb0 in position 1 ordinal not in range ...
Django1 0 與中文編碼問題 一
1.資料庫字元編碼 確保資料庫能儲存任何資料格式,一般我們選用utf 8.選用其他資料格式的話如亞洲地區比較常用的latin1,會有些字元不能儲存,導致資訊丟失!從一定意義上來說使用latin1是導致很多奇怪的字元編碼問題的罪魁禍首 所以推薦大家建立資料庫是選用utf8格式,為latin1受的苦還不...