S3cmdsignurl中文支持问题怎么解决

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

创新互联是一家专业提供浦北企业网站建设,专注与成都做网站、成都网站制作、成都外贸网站建设H5开发、小程序制作等业务。10年已为浦北众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。

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 
    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中文支持问题怎么解决”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网站栏目:S3cmdsignurl中文支持问题怎么解决
转载来于:http://scyanting.com/article/gddijj.html