2017-02-13 178 views
0

更新: 新开发!在上传到服务器(基于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微型网站上。

+0

服务器返回的HTTP头中报告了什么编码? – Waylan

+0

@Waylan Content-Type:text/html;字符集= ISO-8859-1。也添加到帖子 –

回答

0

如果问题是FTP上传,请尝试在上载文件之前将FTP传输模式设置为BINARY,这样FTP服务器根本不应修改您的文本文件。