我们有一个浏览器扩展,允许用户将html网页和资产上传到s3,这通常很有效.我们遇到的一个问题是,对于某些网页,特殊字符, - ,',"等会出现乱码.例如,短划线' - '将在浏览器源中显示为 - 并以此方式显示.短划线是在s3 html中有' - '.这只发生在我们上传的一些网页中,包括来自堆栈溢出的问题(评论中用户名之前的破折号).s3 html文件的唯一元数据是Content-type:text/html.手动将字符编码类型设置为自动检测可以暂时修复它,但我们无法弄清楚如何永久修复它并可以使用一些帮助.
这很可能是因为你的连字符实际上是Unicode UTF-8 em或者是破折号,引号字符是Unicode曲线引号而不是基本的ASCII引号.例如,StackOverflow问题中的破折号似乎是破折号.
你需要告诉浏览器正确的编码,因为它试图猜测并弄错了.有几种方法可以做到这一点:
上传文件时,您可以为文件设置S3 Content-Type元数据属性text/html;charset=UTF-8
.这取决于您用于上传的软件.此属性也可以在AWS控制台中设置,但如果有大量文件,这将是繁琐的.
您可以按照此处所述在文档中嵌入编码.例如,你可以添加<meta charset="UTF-8">
在head
文档和浏览器应该用它来决定的编码.
归档时间: |
|
查看次数: |
1510 次 |
最近记录: |