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 

如果字符集信息未包含在标题中,某些浏览器不会尽快解析页面。