这是我的代码(t.name包含希伯来语名称):

# -*- coding: utf8 -*-
                title = '%s.html' % t.name
                with file(title, 'wb') as fpo:
                    fpo.write('<meta charset="utf-8">\n')
                    message = 'שלום לך %s' % t.name
                    fpo.write('%s\n' % message)

以下是文件系统(Windows 7)中文件的外观:
浏览器可以很好地显示内容。
我错过了什么?
谢谢,
奥默。

最佳答案

windows文件系统使用utf16编码。不过,最好还是使用unicode值,因为python会自动为您的平台使用正确的编解码器和api来编码文件名:

title = u'%s.html' % t.name.decode('utf8')  # decode from UTF8, use a unicode literal
with file(title, 'wb') as fpo:
    fpo.write('<meta charset="utf-8">\n')
    message = 'שלום לך %s' % t.name
    fpo.write('%s\n' % message)

07-28 03:57