php - 同一文件根据 HTML 或 PHP 文件扩展名显示不同

标签 php html 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">

这两个文件之间的唯一区别是它们的文件扩展名。但是,当您在浏览器中查看它们时,重音字符在 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/

相关文章:

Java - 无法从网站获取 HTML 纯文本

PHP - 特殊字符(欧元符号)未正确显示(RSS feed/SimplePie)

php - 从ftp上传到显示http需要多长时间?

php - 使用 jquery ajax 和 PHP 浏览器 'back button' 的工作

mysql - 将 utf-8 mysqldump 导入 latin1 数据库

html - 有没有办法避免 CSS 类名冲突?

javascript - 具有图像背景和完全响应的 JQUERY UI slider

javascript - 限制用户在php中多次添加一件商品到购物车

php - 如何使用 JOIN 从 PHP 查询 mysql?

html - CSS - 图像错误对齐和越界