V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yiding
V2EX  ›  问与答

在 vim 中运行 python 文件,出现的中文字符错误问题

  •  
  •   yiding · 2014-07-07 12:50:32 +08:00 · 3145 次点击
    这是一个创建于 3794 天前的主题,其中的信息可能已经有所发展或是发生改变。
    先贴代码
    这是我的 py 文件
    # coding : utf-8
    import urllib

    company_name = '常州市武进金日福保健食品厂'
    company_name_utf8 =company_name.decode('gbk').encode('utf-8')
    company_name_urlencode = urllib.quote(urllib.quote())

    print company_name_utf8

    我像查到的那样
    在第一行声明类型
    但是无论是 'gbk' or 'utf-8'
    在 vim 中运行,都会出现
    non-ascii character '***' in file ···················

    但是我在 python 的 ide 里面就没有问题
    正常输出,不会报错

    我在 .vimrc 里面也设置了
    set encoding=utf-8,gbk
    set fenc=cp936
    set fileencodings=cp936,ucs-bom,utf-8,gbk

    但是都不管用
    很请问一下,大家知道这是怎么一回事吗?
    非常感谢 '◡'
    第 1 条附言  ·  2014-07-07 14:14:12 +08:00
    实在是抱歉,经过提醒,结果是空格的问题
    第一行的内容不应该有空格

    是我的失误照成的困扰
    再次多谢回复!
    4 条回复    2014-07-07 13:57:08 +08:00
    xavierskip
        1
    xavierskip  
       2014-07-07 13:42:49 +08:00   ❤️ 1
    你已经设置了文件的字符编码为 utf-8,为什么要decode("gbk")
    imn1
        2
    imn1  
       2014-07-07 13:52:36 +08:00   ❤️ 1
    cp936相当于GBK,cp65001相当于utf-8
    yiding
        3
    yiding  
    OP
       2014-07-07 13:56:18 +08:00
    @xavierskip 恩恩,之前我设的就是 gbk
    贴上来的时候又换了 utf-8 在 vim 中再试试运行了一下
    但是错误貌似和第一行设置并没有什么关系
    yiding
        4
    yiding  
    OP
       2014-07-07 13:57:08 +08:00
    @imn1
    原来如此
    受教了
    谢谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3142 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:54 · PVG 21:54 · LAX 05:54 · JFK 08:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.