在 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 输出,但会影响客户端评估它的方式。
在您的情况下,即使您回显<script>alert('test');</script>
,客户端也不会将其视为javascript,而只会视为文本,所有html标签也是如此。
【讨论】:
这是我代码中的一个简单类型-o,这个答案意味着我无法删除我的错误并减少 SO 上的混乱。以上是关于在 php 脚本上设置 UTF-8 会产生 HTML 源代码,而不是呈现的内容 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何设置网页默认index.htm而不是index.php?