关于Python万恶的中文乱码和找不到问题

rootDir = os.path.join(CASE_PATH, "系统", "基础", "管理")print rootDirprint(chardet.detect(rootDir))print os.path.exists(rootDir)unicode(rootDir, "utf-8")print rootDirprint(chardet.detect(rootDir))print os.path.exists(unicode(rootDir, "utf-8"))

E:\ABS\TestCase\系统\基础\管理 

{‘confidence‘: 0.99, ‘language‘: ‘‘, ‘encoding‘: ‘utf-8‘}

False

E:\ABS\TestCase\系统\基础\管理

{‘confidence‘: 0.99, ‘language‘: ‘‘, ‘encoding‘: ‘utf-8‘}

True

网上各种回答乱入:

1.python默认安装的时候编码是ASCII

2.python内部执行程序时传递时是UNICODE

3.python内存中中文变现为UNNICODE

解决方法如上,暂时还在凌乱,后续再看吧

又报错打印出来路径变成16进制了

解决:rootDir.decode(‘utf-8‘).encode(‘utf-8‘)

原文地址:https://www.cnblogs.com/mariahcat/p/9304098.html

时间: 2024-10-29 19:08:45

关于Python万恶的中文乱码和找不到问题的相关文章

sae python中Mysql中文乱码的解决

一开始我用的是: db=MySQLdb.connect(db=sae.const.MYSQL_DB,user=sae.const.MYSQL_USER,passwd=sae.const.MYSQL_PASS,host=sae.const.MYSQL_HOST,port=int(sae.const.MYSQL_PORT)) 数据库编码与python代码的编码都已设为utf8,在PHPMyAdmin中添加中文记录,在网页查询显示中却显示乱码,我在网上各种搜索都找不到解决方法.最后终于发现在连接数据库

python查询mysql中文乱码问题

python2.7 查询或者插入中文数据在mysql中的时候出现中文乱码 --- 可能情况: 1.mysql数据库各项没有设置编码,默认为'latin' 2.使用MySQL.connect的时候没有设置默认编码 3.没有设置python的编码,python2.7默认为'ascii' 4.没有解码 --- 解决方法: 1.设置mysql的编码 ubuntu执行下列语句:** sudo vim /etc/mysql/my.cnf **然后在里面插入语句: [client]default-charac

python requests返回中文乱码

最近在使用python爬取高考分数线时,获得的response里面输出了中文乱码: from bs4 import BeautifulSoup import requests def get_provice_link(url): response=requests.get(url) print(response.text) soup=BeautifulSoup(response.text,'lxml') print(soup.title) def main(): url='http://www.

python读取数据库中文乱码问题

今天朋友遇到过怪问题,在同一个页面显示的2条中文记录一个正常,一个乱码,2条记录分别从不同的表里取出.录入的时候采用直接录入.仔细观察2者区别,发现能正常显示的字段在表中类型为nvarchar,不能的是varchar,试着将其改成nvarchar,问题解决. 因为对sqlserver不熟悉.通过查询手册得知: nvarchar表示以Unicode格式存储可变长度的 数据,所以能显示中文,而varchar是用非unicode存储数据,所以乱码.将Varchar类型设置为nvarchar类型,发现问

Python 注释和中文乱码

Python 注释分为三种: 1.单行注释:# 2.多行注释:前后3个单引号,或者三个双引号: 如:''' 多行注释 ''', """或者 多行注释 '""" 3.特殊注释: 如在linux 下面,在文件最前面加 #!/usr/bin/python ,代表 执行这个文件的时候,需要用这个程序来运行: python2*版本不支持中文的问题,默认文件为ASCII码,3.*已经支持,需要在文件前面加入:#encoding = utf-8 或者 #cod

Python入门之中文乱码

python入门编码: Python 文件中如果未指定编码,有中文代码时候,在执行过程会出现报错: File "test.py", line 2 SyntaxError: Non-ASCII character '\xe4' in file test.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details Python中默认的编码格式是 ASCII

python json.dumps() 中文乱码问题

python 输出一串中文字符,在控制台上(控制台使用UTF-8编码)通过print 可以正常显示,但是写入到文件中之后,中文字符都输出成ascii编码了.英文字符能正常显示可读字符. 原因:json.dumps 序列化时默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:更深入分析,是应为dJSON object 不是单纯的unicode实现,而是包含了混合的unicode编码以及已经用utf-8编码之后的字符串. 可行的方式如下: 1 import os

解决Python操作MySQL中文乱码的问题

原始代码: import os, sys, string import MySQLdb MYSQL_HOST = 'localhost' MYSQL_PORT = '3306' MYSQL_USER = 'root' MYSQL_PASS = '' MYSQL_DB = 'app_hwms' def main(): try: conn = MySQLdb.connect(host=MYSQL_HOST,user=MYSQL_USER ,passwd=MYSQL_PASS,db=MYSQL_DB)

Python json.dumps 中文乱码解决

需要对外提供一个接口,输出的内容里有中文.结果打开一看,返回的是这么一串东西. "owner": "\u8d75\u7acb\u5792" 其实,这是用ASCII输出的转义字符,解决起来很简单.json.dumps方法有一个ensure_ascii方法,设为False即可,默认为True.加上encoding="utf-8",用utf8来encode中文. 调用方法 json.dumps(mydata, ensure_ascii=False, e