讀取配置dbconfig.ini(含有中文)顯示亂碼的解決方法
一、原因
Python 3 中雖有encoding 參數,但是對于有BOM(如Windows下用記事本指定為utf-8)的檔案,需要使用 utf-8-sig, 使用utf-8沒辦法。
二、解決方案
具體應用:
def readconfig(type,name):
cf = configparser.ConfigParser()
# file_path = os.path.dirname(os.getcwd()) + '/config/config.ini'
parpath=os.path.abspath('.') #擷取目前目錄
parpath=os.path.dirname(parpath) #擷取目前目錄的上級目錄
configPath = parpath + '\\config\\config.ini'#拼接查詢對應目錄
#上面三個可以合成這一個
#configPath = os.path.dirname(os.path.abspath('.')) + '\\config\\config.ini'
# 讀取配置檔案(此處是utf-8-sig,而不是utf-8),這裡主要解決讀取配置檔案中文亂碼問題
cf.read(configPath ,encoding="utf-8-sig")
#擷取配置檔案中BrowserName對應的值
configval = cf.get(type,name)
#print(configval)
return configval