服务器指定`charset = utf-8`,下载为ISO-8859

时间:2016-11-05 13:59:59

标签: apache utf-8 character-encoding

我的服务器上有一个生成GPX(一种XML)文件的进程。由于某些重音字符,该文件使用UTF-8编码,并在头部用:

指定它
<?xml version="1.0" encoding="UTF-8"?>

此外,在Apache服务器上我添加了AddTypeAddEncoding指令,因此,如果您执行HEAD命令或检查Chrome开发人员工具中的标题,您会看到

Content-Type: application/octet-stream; charset=utf-8

但是,如果您在下载后使用file命令,则会报告:

# file 9f90063f.gpx
9f90063f.gpx: XML 1.0 document text, ISO-8859 text

这会给使用该文件的人带来问题,因为他们报告他们正在为该文件提供的程序感到困惑。如何将文件下载为utf-8而不是ISO-8859?

1 个答案:

答案 0 :(得分:0)

感谢对该问题的评论,我能够发现问题不在下载链接中,就在我生成文件时。我添加了binmode(XML, ":utf8"),似乎编码正确。