各种编码问题汇总(持续更新)

3 篇文章 0 订阅

1.ubuntu vim 中文乱码

在当前用户的home路径中.vimrc中添加以下内容:

syntax on (这句话一定要添加,括号里面的不要添加进去)

set encoding=utf-8 fileencodings=utf-8

2.Python3编码问题

 1.UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)

  使用locale查看默认语言设置为空,查看python3中此时被默认指定为‘ANSI_X3.4-1968’

root@170bf48a0e61:~/# locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
>>> import sys
>>> sys.stdout.encoding
'ANSI_X3.4-1968'

解决办法:

(1)设置环境变量LANG,在linux或Mac上设置环境变量的方式一样,编辑~/.bash_profile文件(’~’指的是用户登录后的默认目录),添加一行:

export LANG="en_US.UTF-8"

  (2)在运行python命令前添加参数 PYTHONIOENCODING=utf-8 python printcn.py 

   该参数的解释可查看官方文档:https://docs.python.org/3.6/using/cmdline.html#envvar-PYTHONIOENCODING

(3)如何还不能正常运行,则在运行脚本中增加如下内容:

import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')

 

参考文章:https://blog.csdn.net/th_num/article/details/80685389

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值