Articles of python unicode

如何在文件中写俄文字符?

在控制台,当我试图输出俄罗斯字符它给了我??????????????? 谁知道为什么? 我试图写入文件 – 在这种情况下是相同的情况。 例如 f=open('tets.txt','w') f.write('some russian text') f.close 里面的文件是 – ????????????????????????? / 要么 p="some russian text" print p ????????????? 在附加的记事本中,不要让我用俄文字母保存文件。 我给这个: 此文件包含Unicode格式的字符,如果将此文件另存为ANSI编码的文本文件,则会丢失该字符。 要保留Unicode信息,请单击下面的“取消”,然后从“编码”下拉列表中select一个Unicode选项。 继续? 如何调整我的系统,所以我不会有这个问题。

处理python mkdtemp中的unicode用户名

我被http://bugs.python.org/issue1681974咬了 – 从那里引用: 如果Windows用户名中包含任何非ASCII字符(如ä或ö),则mkdtemp将在Windows上失败。 mkdtemp引发编码错误。 这似乎是因为在Windows中的默认临时目录是"c:\documents and settings\<user name>\local settings\temp" OP使用的解决方法是: try: # workaround for http://bugs.python.org/issue1681974 return tempfile.mkdtemp(prefix=prefix) except UnicodeDecodeError: tempdir = unicode(tempfile.gettempdir(), 'mbcs') return tempfile.mkdtemp(prefix=prefix, dir=tempdir) 我有两个问题: 为什么这应该工作? 这是多么充分的证据? 从类似的问题(请参阅此答案: Python Popen未能在Windows PowerShell中使用正确的编码 )我得到的概念,我可能应该使用sys.stdout.encoding – 我在任何地方附近的标记? 编辑:实际上是行: print u"input encoding: %s; output encoding: %s; locale: %s" % ( sys.stdin.encoding,getattr(sys.stdout,'encoding',None), locale.getdefaultlocale()) 版画 input编码:无; 输出编码:无; 语言环境:('ja_JP','cp932') […]