4

我剛剛嘗試了幾次,爲從Google App Engine提供的靜態文件定義字符集並失敗了。爲靜態HTML文件定義CharSet

文件確實包含正確的元標記當量在文件的標題部分:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> 

但它沒有被作爲標題傳遞,瀏覽器需要從實際的文件把它撿起來。

當然,如果我使用腳本(或Python谷歌App Engine程序),那麼我可以得到它作爲響應標題正確傳遞。

Content-Type: text/html; charset=UTF-8 

我試圖添加到app.yaml文件行:

- url:/
    static_files: root/create.html 
    upload: root/create.html 
    http_headers: 
    Content-Type: text/html; charset=UTF-8 

但appcfg.py只是告訴我:類型URLMap的對象 意外的屬性 'http_headers'。 在 「9oxnet/app.yaml的」 41行,第5列

回答

7

要解決靜態文件此charset頭問題,則需要在app.yaml文件中定義的字符集:

- url:/
    static_files: root/create.html 
    upload: root/create.html 
    mime_type: text/html; charset=UTF-8 

現在內容類型標頭的靜態文件也正確地包含字符集信息。

Content-Type: text/html; charset=UTF-8 

如果字符集信息未包含在標題中,某些瀏覽器不會盡快解析頁面。