Python的经典问题——中文乱码

关键字:Python UTF-8 GBK 中文 乱码

估计入门时都会遇到的。我是在windows下用的Python25自带的IDLE编辑运行的,发现运行脚本得出的结果有一些中文显示是乱码,但有一些是正常的。百思不得其解。首先查看了一下源文件的编码格式,是UTF-8。经过搜索再搜索,调试再调试,也换了几个编译器,发现比IDLE还糟糕(可能需要进行encode设置)。问题终于解决了,一共花了俺将近5个小时,写在这里,希望遇到问题的人能搜索到这里,不再重犯。

乱码原因:
因为你的文件声明为utf-8,并且也应该是用utf-8的编码保存的源文件。但是windows的本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串当然是乱码了。

解决方法:

在控制台打印的地方用一个转码就ok了,打印的时候这么写:

print  myname.decode( ' UTF-8 ' ).encode( ' GBK ' )

比较通用的方法应该是:

import  sys
type 
=  sys.getfilesystemencoding()
print  myname.decode( ' UTF-8 ' ).encode(type)


 

 

转载于:https://www.cnblogs.com/pao8041/archive/2010/04/08/1707442.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python爬虫中,如果遇到HTML中文乱码问题,可以通过以下几个步骤解决: 1. 首先,可以使用requests库发送HTTP请求获取HTML内容。在请求之后,可以通过response.encoding修改编码方式来解决乱码问题。比如,可以将编码方式设置为'gbk'或'utf-8'。 2. 如果网页的编码为utf-8,但是中文仍然显示乱码,可以尝试进行两次重编码。第一次将编码方式设置为'GBK',然后再将编码方式设置为'utf-8'。 3. 如果以上方法仍然无法解决中文乱码问题,可以尝试通过其他方式来处理。例如,可以使用headers设置User-Agent来模拟浏览器访问网页,或者使用其他第三方库来处理编码问题。 综上所述,解决Python爬虫HTML中文乱码问题的步骤包括修改编码方式、进行重编码以及尝试其他处理方式。根据具体情况选择合适的方法来解决乱码问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Python爬虫中文乱码问题](https://blog.csdn.net/wvqusrtg/article/details/113742520)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Python爬虫——爬取网页时出现中文乱码问题](https://blog.csdn.net/lucky_shi/article/details/104602013)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值