【问题标题】:Python 2.7. Encoding into python and cmd蟒蛇 2.7。编码成python和cmd
【发布时间】:2016-03-27 22:56:32
【问题描述】:

每个人。

我尝试学习 django 和 python。但我有一个问题。在我的书中有这样的字符串:

django-admin.py startproject megaproject

当我尝试执行此代码时,我收到下一条消息:

D:\Job\РАН\База Данных. Сомнология>django-admin.py startproject megaproject
Traceback (most recent call last):  

File "C:\Python27\Scripts\django-admin.py", line 5, in <module>
    management.execute_from_command_line()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
353, in execute_from_command_line
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
345, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 357,
 in run_from_argv
    self.stderr.write('%s: %s' % (e.__class__.__name__, e))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 8: ordinal
not in range(128)

此代码在英文目录中工作。但我有下一个类型的俄罗斯目录:

D:\Job\РАН\База Данных. Сомнология

这个问题出现是由于python和cmd的编码不同。而且我不能顺从他们。我尝试将编码更改为命令行和 python。但我没有结果。当我将编码更改为 cmd 时,我得到带有奇怪符号的错误字符串。当我在标题python文件中添加具体编码时,我也没有结果。

【问题讨论】:

  • 顺便说一句,如果您可以迁移到 python 3.x,请这样做。它的 unicode 支持更紧密地集成在一起,通常问题更少。
  • 是的,我知道。但是在这本书中只使用了python 2.x,因此它对我来说非常重要。谢谢。
  • @tdelaney,对不起。我担心我的英语。这不好。非常...我的帖子有很多错误吗?
  • 不,我认为你的帖子写得很清楚......但我无法解释你为什么会出现这个错误。
  • 问题可能是python如何读取文件系统字符串。它是俄语,但被读取为常规的 ascii 字符串,因此您会得到错误的字符。 This post 读起来很有趣。在set PYTHONIOENCODING=cp1251 运行命令之前,您可能有幸设置了环境变量。如果这不起作用,请运行 python,import sys,然后查看sys.stdout.encoding 加上sys.getfilesystemencoding(),看看那里是否还有其他代码页。

标签: python windows python-2.7 encoding cmd


【解决方案1】:

windows django 不能使用俄语目录。

【讨论】:

    猜你喜欢
    • 2012-11-06
    • 1970-01-01
    • 2019-07-28
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 2012-02-03
    相关资源
    最近更新 更多