版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014589856/article/details/89478322
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')