更新: 新开发!在上传到服务器(基于JSP的Apache)之前将文件扩展名更改为JSP将页面的编码更改为指定的UTF-8!当ftp到服务器时utf-8文件改为windows-1252
不幸的是,这并没有真正的帮助,因为每次我想要将更改上传到服务器时,我都需要手动更改所有文件扩展名。基于这个最新的信息,有什么想法? Bueller?
我在Jekyll建了一个网站。当我jekyll服务它在我的本地主机上看起来不错。 document.charset
是"UTF-8"
。逆足
将问题上传到我们的服务器(www.example.com/static/minisite/)时出现问题。特殊字符无法正确显示(例如'下一个')&当我document.charset
它表示"Windows-1252"
。这是打破所有的“和”该降价将自动转换看中的报价。
否则(即www.example.com/sales)该服务器上的一切都是‘UTF-8’。
故障排除步骤我“已经采取:
- 验证所有页面都
<meta charset="UTF-8">
- 新增
encoding: "utf-8"
到_config.yml上/ src目录所有文件.MD & .html文件上 - 经过编码/部署ü唱歌
file -I *.md
&file -I *.html
。结果是你所期望的:about.md: text/plain; charset=utf-8
- 试图添加一个.htaccess文件到许多变化的目录:
adddefaultCharset UTF-8
。我认为这用于工作并简要解决了问题。现在,它给了我,我把它 - 每个文件夹的404错误改变了我的FTP设置
Force UTF-8
- 我试着上传index.html文件在本地是UTF-8到不同的服务器(Drupal站点我管理)和
document.charset
说:Windows-1252
- 我试图改变散装每个文件的编码,对src和使用部署文件夹
find -E . -regex '.*\.(html|md|htm)' -exec iconv [-f windows-1252] [-t utf-8] -o {} {} \;
- 响应头:内容类型:text/html的; charset = ISO-8859-1
我在这一点上有点恼怒。我不知道它是什么,什么时候出现,以及它们在哪里改变编码。因为Markdown认为它最好,并且会改变任何'看上去',所以我几乎要完全放弃Jekyll,因为这个问题只发生在我在该服务器上的这个Jekyll微型网站上。
服务器返回的HTTP头中报告了什么编码? – Waylan
@Waylan Content-Type:text/html;字符集= ISO-8859-1。也添加到帖子 –