1

我正在使用Google App Engine將新文件寫入Google雲端存儲分區,以便在瀏覽器中最終投放。通常情況下我的本地計算機上此寫一個很好的文本文件,其預期我可以打開並看到測試字符:Google雲端存儲API寫入特殊字符文件與常規python文件

with open('new_file.txt', 'w') as f: 
    f.write(u'é'.encode('utf-8')) 

當我在記事本中打開new_file.txt它的正確顯示爲é

但是當我嘗試在谷歌雲存儲的類似的方法:

with gcs.open('/mybucket/newfile.txt', 'w', content_type='text/html') as f: 
    f.write(u'é'.encode('utf-8')) 

我的文件供應在瀏覽器中有特殊字符全亂了,在這種情況下,輸出é

enter image description here

+0

你能嘗試設置'CONTENT_TYPE ='文本/ HTML;字符集= UTF-8''? – jterrace

回答

1

爲HTTP 1.1的默認字符集是ISO-8859-1。

如果您希望瀏覽器解釋你的文本爲UTF-8,您應該設置Content-Type頭包含的字符集,這樣的:

with gcs.open('/mybucket/newfile.txt', 'w', content_type='text/html; charset=utf-8') as f: 
+1

這樣做,現在文件從我的存儲桶中按照我期望它們顯示的方式提供特殊字符。非常感謝你! – ajwest

+0

我很高興你的工作! – jterrace

相關問題