我正在使用 Google App Engine 将新文件写入 Google Cloud Storage 存储桶,以便最终在浏览器中提供服务。通常在我的本地计算机上,这会写入一个很好的文本文件,我可以打开该文件并按预期查看测试字符:
with open('new_file.txt', 'w') as f:
f.write(u'é'.encode('utf-8'))
当我打开时new_file.txt
在记事本中它正确显示为é
.
但是当我在 Google Cloud Storage 上尝试类似的过程时:
with gcs.open('/mybucket/newfile.txt', 'w', content_type='text/html') as f:
f.write(u'é'.encode('utf-8'))
我的文件在浏览器中提供,特殊字符全部混乱,在这种情况下它输出é
.
HTTP 1.1 的默认字符集是 ISO-8859-1。
如果您希望浏览器将文本解释为 UTF-8,则应设置内容类型标头以包含字符集,如下所示:
with gcs.open('/mybucket/newfile.txt', 'w', content_type='text/html; charset=utf-8') as f:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)