pyhon中处理中文编码

 用python时,经常会操作文件夹,由于windows文件夹和文件的名称本身采用的就是unicode编码,而python默认使用的是ascii编码,导致常常发生编码解析越界的问题。

处理方式:写函数时,如果需要unicode,最好自动处理一下

 
  
def  add(filefullpath):
          filefullpath 
=  unicode(filefullpath,  ' cp936 ' )       # #我采用的时cp936编码,你可以用其他的
           pass                                                                        # #do nothing

 btw:值得注意的就是,两个不同的编码是不可以使用+操作符直接相联的。

使用smtp发送邮件,你会发现标题和邮件主体同时编码正确是件很难的事情,不是标题显示乱码就是邮件主体乱码。
  我的最终处理方式:
      对主体采用HTML方式支持,在HTML表头加入支持gb2312的属性,对header就需要用到:
    email.Header这个lib了,例如:

    msg  =  MIMEText( " [邮件主体] " )
    msg[
" Subject " =  header( " 中文 " " GB2312 " );
    ....

 

这样就可以很好的处理这种情况了

如果你也遇到过中文处理的问题或者有其他的方法,欢迎讨论

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值