基于HTML或PHP文件扩展名,同一文件的显示方式不同

DiM*_*ono 1 html php character-encoding

我有以下两个文件:

http://www.roostertooths.com/content/rvb/translations/test.html

http://www.roostertooths.com/content/rvb/translations/test.php

它们都具有以下字符编码:

<meta charset="iso-8859-1">
Run Code Online (Sandbox Code Playgroud)

两个文件之间的唯一区别是它们的文件扩展名.但是,当您在浏览器中查看它们时,重音字符在html版本上正确显示,但在php版本中是菱形问号.这对我来说似乎很奇怪.有没有人对如何使php文件正确显示字符有一些见解?

我已经确认将html文件复制到一个新的php文件会重现这个问题,所以并不是说我的ftp程序在上传时对它们进行了不同的编码.更多的信息:

file test.html
test.html: ISO-8859 HTML document text, with very long lines

file test.php
test.php: ISO-8859 HTML document text, with very long lines
Run Code Online (Sandbox Code Playgroud)

LSe*_*rni 5

PHP默认字符集可能设置为"UTF-8".

唯一的文件之间的差异是扩展,但扩展意味着第二文件是由PHP处理,这增加了一个"内容类型:文本/ HTML;字符集= UTF-8"报头.这在meta设置上具有优先权.

您需要更改PHP.INI文件中的默认编码.

(实际上,我到处都是UTF-8,就我的经验来说,从长远来看会减少麻烦,但我想这取决于你的设置和工作流程).