我有以下两个文件:
http://www.roostertooths.com/content/rvb/translations/test.html
http://www.roostertooths.com/content/rvb/translations/test.php
它们都有以下字符编码:
<meta charset="iso-8859-1">
这两个文件之间的唯一区别是它们的文件扩展名。但是,当您在浏览器中查看它们时,重音字符在 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
最佳答案
PHP 默认字符集可能设置为“UTF-8”。
文件之间唯一的区别是扩展名,但扩展名意味着第二个文件由 PHP 处理,它添加了一个“Content-Type: text/html; charset=utf-8"标题。这优先于 meta
设置。
您需要更改 PHP.INI 文件中的默认编码。
(实际上,我会在任何地方使用 UTF-8,根据我的经验,从长远来看,这会产生更少的麻烦,但我想这取决于您的设置和工作流程)。
关于php - 同一文件根据 HTML 或 PHP 文件扩展名显示不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49141261/