为静态HTML文件定义CharSet

时间:2012-12-30 13:48:47

标签: google-app-engine http-headers content-type static-files app.yaml

我曾多次尝试为从Google App Engine提供的静态文件定义字符集,并且失败了。

文件在文件的标题部分中包含正确的元等效标记:

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

但它没有作为标题传递,浏览器需要从实际文档中提取它。

当然,如果我使用脚本(或Python Google 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栏

1 个答案:

答案 0 :(得分:8)

要修复静态文件的此charset标头问题,您需要在app.yaml文件中定义charset:

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

现在静态文件的Content-Type标头也正确包含字符集信息。

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

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