UnicodeDecodeError:'utf-8'编解码器无法解码位置192的字节0xa8:无效的起始字节

时间:2016-05-13 05:22:17

标签: python utf-8

我是Python的新手,并通过自动化无聊的东西,第7章。我正在运行程序电话号码和电子邮件地址提取器,并继续收到以下错误,“UnicodeDecodeError:'utf-8'编解码器可以' t解码位置192的字节0xa8:无效的起始字节“。我正在复制到剪贴板this page here作为开始。

这是我的代码。任何人都可以帮忙,因为我有点迷失了如何让程序运行?

var cboState = new ComboBox({
                id: 'usastate',
                name: 'usastate',
                style:{width: '100%', height: '35px', fontSize: '30px'},
                placeholder: 'Select a State',
                store: stateStore,
                searchAttr: 'name',
                autocomplete: true,
                onChange: function(value) {
                    this.set('displayedValue', value);
                    }
          });

1 个答案:

答案 0 :(得分:0)

我已经尝试为MacOS编写简单的应用程序,它会更改剪贴板:paste - >改变 - >复制回来。 它可以很好地从PyCharm运行,但是当我用py2app打包它时就失败了。

由于pyperclip使用外部程序处理剪贴板,我添加了环境日志记录:

日志:从PyCharm运行:

LANG --> 'en_US.UTF-8'
LANGUAGE --> 'en_US.UTF-8'
LC_ALL --> 'en_US.UTF-8'
LC_CTYPE --> ''
PYTHONIOENCODING --> 'UTF-8'

日志:从py2app bundle运行:

LC_CTYPE --> 'en_US.UTF-8'

所以我修补了os.eniron:

def init_env():
    def set_env_var(k, v):
        os.environ[k] = v
        logging.debug('set %s = %r' % (k, v))

    set_env_var("LANG", "en_US.UTF-8")
    set_env_var("LANGUAGE", "en_US.UTF-8")
    set_env_var("LC_ALL", "en_US.UTF-8")
    set_env_var("LC_CTYPE", "")
    set_env_var("PYTHONIOENCODING", "UTF-8")

和py2app现在工作正常。