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

S3cmd signurl中文支持问题怎么解决

本篇内容主要讲解“S3cmd signurl中文支持问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“S3cmd signurl中文支持问题怎么解决”吧!

S3cmd signurl中文支持问题

s3cmd --version
s3cmd version 1.6.1

s3cmd signurl s3://s3demo/ceph知识树.png +200

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    An unexpected error has occurred.
  Please try reproducing the error using
  the latest s3cmd code from the git master
  branch found at:
    https://github.com/s3tools/s3cmd
  and have a look at the kNown issues list:
    https://github.com/s3tools/s3cmd/wiki/Common-kNown-issues-and-their-solutions
  If the error persists, please report the
  following lines (removing any private
  info as necessary) to:
   s3tools-bugs@lists.sourceforge.net


You have encountered a UnicodeEncodeError.  Your environment
variable LANG=zh_CN.UTF-8 may not specify a Unicode encoding (e.g. UTF-8).
Please set LANG=en_US.UTF-8 or similar in your environment before
invoking s3cmd.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Invoked as: /usr/local/bin/s3cmd signurl s3://hxs1-s3soft/ceph知识树.png +200
Problem: UnicodeEncodeError: 'ascii' codec can't encode characters in position 31-33: ordinal not in range(128)
S3cmd:   1.6.1
python:   2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)]
environment LANG=zh_CN.UTF-8

Traceback (most recent call last):
  File "/usr/local/bin/s3cmd", line 2923, in <module>
    rc = main()
  File "/usr/local/bin/s3cmd", line 2843, in main
    rc = cmd_func(args)
  File "/usr/local/bin/s3cmd", line 2017, in cmd_signurl
    debug("url to sign: %r" % url_to_sign)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 31-33: ordinal not in range(128)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    An unexpected error has occurred.
  Please try reproducing the error using
  the latest s3cmd code from the git master
  branch found at:
    https://github.com/s3tools/s3cmd
  and have a look at the kNown issues list:
    https://github.com/s3tools/s3cmd/wiki/Common-kNown-issues-and-their-solutions
  If the error persists, please report the
  above lines (removing any private
  info as necessary) to:
   s3tools-bugs@lists.sourceforge.net
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

在s3cmd源码文件添加下面两行解决

reload(sys) 
sys.setdefaultencoding('utf-8')

patch最终效果

 2894 if __name__ == '__main__':
2895     try:
2896         ## Our modules
2897         ## Keep them in try/except block to
2898         ## detect any Syntax errors in there
2899         reload(sys) #新加
2900         sys.setdefaultencoding('utf-8') #新加
2901         from S3.ExitCodes import *
2902         from S3.Exceptions import *

到此,相信大家对“S3cmd signurl中文支持问题怎么解决”有了更深的了解,不妨来实际操作一番吧!这里是编程之家网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

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

相关推荐