当前位置: 首页 > 面试题库 >

如何避免在PHP中回显字符65279?

锺玺
2023-03-14
问题内容

我得到一个看起来不错的xmlhttp.responseText(当我发出警报时-它显示正确的文本)-但是当使用’if’时将其与字符串进行比较的语句-返回false。

(我也是编写返回该字符串的服务器端代码的人)-在深入研究字符串之后,我发现该字符串的第一个字符为“不可见字符”。未显示的字符。如果我将其复制到记事本中-
然后删除了第一个字符-直到再次按Delete键,它才会删除。

我为xmlhttp.responseText中的返回字符串做了一个charCodeAt(0)。然后返回 65279

谷歌搜索它表明它是某种UTF-8控制字符,应该设置“大端”或“小端”编码。

所以,现在我知道了问题的原因-但是…为什么要回显该字符?在源PHP中,我只是使用

echo 'the string'...

它显然以某种方式输出[chr(65279)]字符串…

为什么?我该如何避免呢?


问题答案:

总结并指定解决方案

Windows记事本将BOM字符(3个字节:EF BB BF)添加到以utf-8编码保存的文件中。

PHP似乎并没有受到它的困扰-除非您将一个php文件包含到另一个文件中-否则事情会变得混乱并且字符串会以字符(65279)为前缀显示。

您可以使用另一个文本编辑器(例如Notepad ++)来编辑文件,并使用编码
“在没有BOM的UTF-8中编码”,
这似乎可以解决问题。

另外,您可以在记事本中使用ANSI编码保存其他php文件-这似乎也起作用(也就是说,如果您实际上在文件中不使用任何扩展字符,我想…)



 类似资料:
  • 问题内容: 我通过遵循一些pygame教程来学习Python 。 在其中我发现了关键字 self的 广泛使用,并且主要来自Java背景,我发现自己一直忘记键入 self 。例如,代替我输入,因为对我来说, rect 已经是该类的成员变量。 Java的并行的我能想到的这种情况是有前缀成员变量的所有引用与 此 。 我是否在所有成员变量前面都加上了 self 前缀,还是有一种方法可以声明它们,而不必这样

  • hyperf 本地开发使用 php bin/hyperf.php server:watch 命令启动。 CTRL + C 停止后有残留进程。 如果再次执行启动命令就会显示端口被占用。 查不到合适的办法。

  • 本文向大家介绍如何避免回调地狱?相关面试题,主要包含被问及如何避免回调地狱?时的应答技巧和注意事项,需要的朋友参考一下 你可以有以下方式避免回调地狱 模块化:将回调函数转换为独立的函数 使用流程控制库,例如[aync] 使用Promise 使用aync/await 使用来计算生成器或Promise 解析:这个问题有很多种答案,取决你使用的场景,例如ES6, ES7,或者一些控制流库。  

  • 问题内容: 我已经多次看到这个问题,但是分辨率不高。我有以下字符串: 我想打印或回显字符串,但是输出将返回。所以我尝试或哪个输出和浏览器渲染。很明显,我想要它呈现此: 恢复 我正在使用UTF-8: 我在这里想念什么?为什么和输出的任何特殊字符?为了澄清,该字符串实际上是存储在数据库中的整个HTML文件。现实世界中的应用程序不只是那条小线。 问题答案: 经过多次激烈的讨论后,我对我想发布给可能遇到此

  • 问题内容: 我只需要一点在PHP中使用cURL和JSON的帮助,因为我从未真正做到这一点。我要完成的工作是点燃付款的回响,并限制最近一笔捐款可以先付多少。 网址:http : //api.buycraft.net/query?secret=83d043249170343dd048d4da62387f6cb39ed97f&action=payments 问题答案: 如果要使用JSON编码或解码数组,

  • 问题内容: 我想有条件地输出HTML以生成页面,那么在PHP 4+中回显HTML的多行代码段的最简单方法是什么?我需要使用Smarty这样的模板框架吗? 问题答案: 有几种方法可以在PHP中回显HTML。 1.在PHP标记之间 2.回声中 对于回声,如果您希望在HTML中使用双引号,则必须使用单引号回声,如下所示: 或者,您可以像这样逃避它们: 3. Heredocs 4. Nowdocs(从PH