微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ubuntu-14.04 – 从PPA安装PHP5.6时Ubuntu中的UnicodeDecodeError

我有一个干净的VPS,Ubuntu 14.04 LTS x64.并尝试以下内容
# Upgrade The Base Packages

apt-get update
apt-get upgrade -y

# Add A Few PPAs To Stay Current

apt-get install -y software-properties-common

apt-add-repository ppa:Nginx/stable -y
apt-add-repository ppa:rwky/redis -y
apt-add-repository ppa:chris-lea/node.js -y
apt-add-repository ppa:ondrej/PHP5-5.6 -y

但是最后一个失败了:

root@xxx:~# apt-add-repository ppa:ondrej/PHP5-5.6 -y

gpg: keyring `/tmp/tmp9jdzm9kw/secring.gpg' created
gpg: keyring `/tmp/tmp9jdzm9kw/pubring.gpg' created
gpg: requesting key E5267A6C from hkp server keyserver.ubuntu.com
gpg: /tmp/tmp9jdzm9kw/trustdb.gpg: trustdb created
gpg: key E5267A6C: public key "Launchpad PPA for Ond\xc5\x99ej Sur�" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.4/threading.py",line 920,in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.4/threading.py",line 868,in run
    self._target(*self._args,**self._kwargs)
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py",line 687,in addkey_func
    func(**kwargs)
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py",line 370,in add_key
    return apsk.add_ppa_signing_key()
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py",line 261,in add_ppa_signing_key
    tmp_export_keyring,signing_key_fingerprint,tmp_keyring_dir):
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py",line 210,in _verify_fingerprint
    got_fingerprints = self._get_fingerprints(keyring,keyring_dir)
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py",line 202,in _get_fingerprints
    output = subprocess.check_output(cmd,universal_newlines=True)
  File "/usr/lib/python3.4/subprocess.py",line 605,in check_output
    output,unused_err = process.communicate(inputdata,timeout=timeout)
  File "/usr/lib/python3.4/subprocess.py",line 936,in communicate
    stdout = _eintr_retry_call(self.stdout.read)
  File "/usr/lib/python3.4/subprocess.py",line 487,in _eintr_retry_call
    return func(*args)
  File "/usr/lib/python3.4/encodings/ascii.py",line 26,in decode
    return codecs.ascii_decode(input,self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 92: ordinal not in range(128)

我无法弄清楚什么是错的.这一切都非常基础.

正确的方法是在终端中启用UTF-8支持.

首先检查您的语言环境:

locale -a

然后,为en_US安装UTF-8语言环境,示例如下:

locale-gen en_US.UTF-8

然后你需要导出它:

export LANG = en_US.UTF-8

然后add-apt-repository命令可以正常工作.

如果仍然无法使用,请尝试使用以下行:

LC_ALL = en_US.UTF-8 add-apt-repository -y ppa:ondrej / PHP

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐