ianva / vim-youdao-translater

vim的有道取词翻译插件
ianva.github.com
Other
132 stars 32 forks source link

windows下python3环境输出乱码 #40

Closed pangchol closed 4 years ago

pangchol commented 4 years ago

个人在win10下的python3环境测试发现该插件输出会乱码, 该问题应该是由如下原因导致:

  1. windows的gvim为了避免各种乱码一般会通过如下配置来设置vim内部编码统一采用utf-8编码: set encoding=utf-8
    1. windows下的python3默认输出编码方式为gbk, 如果gvim设置了set encoding=utf-8,就会导致python3输出编码和vim内部编码不一致
  2. 该情况可以通过对youdao.py文件添加如下逻辑解决:
    import io, platform
    if __name__ == "__main__":
    if(platform.system()=='Windows'):
        sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
ianva commented 4 years ago

如果可以的话请提交下 PR