Python读取配置文件中文乱码问题

读取配置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

 

你可能感兴趣的:(python)