Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 Python将俄语和汉语字符写入ArcGIS地图文档_Python 2.7_Visual Studio 2012 - Fatal编程技术网

Python 2.7 Python将俄语和汉语字符写入ArcGIS地图文档

Python 2.7 Python将俄语和汉语字符写入ArcGIS地图文档,python-2.7,visual-studio-2012,Python 2.7,Visual Studio 2012,我正在使用python for visual studio 2012(python版本2.7.2),我有一本包含俄语('УССБЖЖЖЖЖЖ拞拞拞')和汉语符号('项目名称'), 当我使用python将其写入ArcGIS地图文档时,我在文档中看到的都是这些“?”,我使用了以下代码: #!/usr/bin/python # -*- coding: iso8859_5 -*- 这些问号仍然会出现,有办法解决吗?使用该模块,并确保您试图写入文件的内容是unicode(有关更多详细信息,请参阅Kuma

我正在使用python for visual studio 2012(python版本2.7.2),我有一本包含俄语('УССБЖЖЖЖЖЖ拞拞拞')和汉语符号('项目名称'), 当我使用python将其写入ArcGIS地图文档时,我在文档中看到的都是这些“?”,我使用了以下代码:

#!/usr/bin/python
# -*- coding: iso8859_5 -*-
这些问号仍然会出现,有办法解决吗?

使用该模块,并确保您试图写入文件的内容是
unicode
(有关更多详细信息,请参阅Kumar McMillan的)

下面是一个使用
编解码器
模块将俄语和汉语字符写入文件的简单示例

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import codecs

def to_unicode_or_bust(obj, encoding='utf-8'):
    ## by Kumar McMillan ( http://farmdev.com/talks/unicode/ )
    if isinstance(obj, basestring):
        if not isinstance(obj, unicode):
            obj = unicode(obj, encoding)
    return obj

mystring = 'String input: УТВЕРЖДЕНО, 项目名称\n'

mystring_unicode = u'Unicode input: УТВЕРЖДЕНО, 项目名称\n'

with codecs.open("filename.txt", 'a', encoding='utf-8') as stream:
    stream.write(to_unicode_or_bust(mystring))
    stream.write(to_unicode_or_bust(mystring_unicode))

你不需要使用utf-8吗?我也使用了utf-8,但问号仍然显示我可以使用编解码器对字符进行编码吗?谢谢。这里有一个更永久的链接,链接到幻灯片以了解更多上下文: