Python 2.7 Python将俄语和汉语字符写入ArcGIS地图文档
我正在使用python for visual studio 2012(python版本2.7.2),我有一本包含俄语('УССБЖЖЖЖЖЖ拞拞拞')和汉语符号('项目名称'), 当我使用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
#!/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,但问号仍然显示我可以使用编解码器对字符进行编码吗?谢谢。这里有一个更永久的链接,链接到幻灯片以了解更多上下文: