首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP包含输出未知字符的函数

PHP包含输出未知字符的函数
EN

Stack Overflow用户
提问于 2008-09-03 13:23:43
回答 4查看 3K关注 0票数 5

当使用php include函数时,include被成功执行,但在include的输出被输出之前,它也输出了一个char,char是十六进制值3F,我不知道它来自哪里,尽管这似乎在每个include中都会发生。

起初我认为它是文件编码,但这似乎不是一个问题。我已经创建了一个测试用例来演示它:(链接不再工作) http://driveefficiently.com/testinclude.php这个文件只包含:

代码语言:javascript
复制
<? include("include.inc"); ?>

include.inc仅由以下部分组成:

代码语言:javascript
复制
<? echo ("hello, world"); ?> 

然而,输出是:"?hello,world“在哪里?是一个具有随机值的字符。就是这个值,我不知道它的来源,它有时会把我的网站搞得一团糟。

你知道这可能是从哪里来的吗?起初我认为这可能与文件编码有关,但我不认为这是一个问题。

EN

回答 4

Stack Overflow用户

发布于 2008-09-03 13:41:38

您的web服务器(或文本编辑器)显然会在文档中包含一个BOM。我在浏览器中看不到这个流氓字符,除非我显式地将站点的编码设置为拉丁文-1。然后,我看到两个(!)UTF-8 BOM。

/EDIT:根据有两个BOM的事实,我得出结论,BOM实际上包含在文件开头的编辑器中。你用的是什么编辑器?如果你使用Visual Studio,你必须说“另存为…”在“文件”菜单中,然后选择“以编码…保存”按钮。在这里,选择“没有BOM的UTF-8”或类似的东西。

票数 3
EN

Stack Overflow用户

发布于 2008-09-03 13:36:35

它不会显示在Firefox或IE的渲染页面上,但当您在IE中查看源代码时,您可以看到有趣的字符

这是在Linux机器上吗?你能找到并替换成vim或者sed,看看你能不能去掉3F?

如果是在Windows上,试着用记事本打开include.inc,看看这个有趣的字符是否可见并可以删除。

我也很好奇,如果您将代码复制出include并单独运行它,会发生什么。

票数 1
EN

Stack Overflow用户

发布于 2008-09-03 13:25:14

我在你链接的页面上看到了hello, world。我看不出有什么问题。

我使用的是Firefox 3.0.1和Windows XP。您运行的是哪种浏览器/操作系统?也许这就是问题所在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档