在 php 脚本上设置 UTF-8 会产生 HTML 源代码,而不是呈现的内容 [重复]

Posted

技术标签:

【中文标题】在 php 脚本上设置 UTF-8 会产生 HTML 源代码,而不是呈现的内容 [重复]【英文标题】:Setting UTF-8 on a php script yields HTML source code, not the rendered content [duplicate] 【发布时间】:2017-06-10 20:39:17 【问题描述】:

当我在一个简单的 php 脚本顶部设置内容类型时:

<?php
    header('Content-type: text/plain; charset=utf-8');
    echo "<P>this is a paragraph</p>";
?>

页面以 html 源代码(不是 php,只是 HTML)的形式提供。

<P>this is a paragraph</p>

这是为什么呢?

【问题讨论】:

我不明白...你能详细说明一下吗?顺便说一句,你是 php 新手吗? 这与设置UTF-8无关,而是使用了错误的content-type 请模组删除这个?这是我的代码中一个简单的被忽视的类型-o,但有一些答案阻止我删除。请删除以减少 SO 上的混乱。 【参考方案1】:

当以text/plain 提供内容时,我不会期待其他任何东西。如果您希望浏览器将其解释为 HTML,请将标头更改为 text/html

【讨论】:

这是我代码中的一个简单类型-o,这个答案意味着我无法删除我的错误并减少 SO 上的混乱。【参考方案2】:

Php 是服务器端的:它将执行并发送您告诉它发送的内容。 发送 content-type 标头不会影响 php 输出,但会影响客户端评估它的方式。 在您的情况下,即使您回显&lt;script&gt;alert('test');&lt;/script&gt;,客户端也不会将其视为javascript,而只会视为文本,所有html标签也是如此。

【讨论】:

这是我代码中的一个简单类型-o,这个答案意味着我无法删除我的错误并减少 SO 上的混乱。

以上是关于在 php 脚本上设置 UTF-8 会产生 HTML 源代码,而不是呈现的内容 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

解决ZendStudio打开utf-8格式的php文件乱码

php多进程模拟并发事务产生的问题

PHP GD水印脚本产生空白水印

如何设置网页默认index.htm而不是index.php?

win10下,cmd,power shell设置默认编码为‘UTF-8

使用 PHP + shell 生成 一键设置权限的脚本。