双引号显示为一些奇怪的字符-PHP,HTML

问题描述 投票:0回答:4

如果您注意到下面两行,则双引号不相同。第一个是我有问题。它们显示为类似-的奇怪字符。但是,二等分线很好用。

“这是第1行。”

“这是第2行。”

两个双引号之间有什么区别,如何防止特殊字符?

php zend-framework html-entities double-quotes
4个回答
0
投票

在第1行中,这些引号有时称为“智能引号”。它们是ASCII代码#147和#148。

在第2行中,这些是“常规”引号,ASCII代码#34。

由于超出ASCII代码#127的字符定义会根据所使用的字体而变得有些杂乱,因此我尽量避免使用智能引号字符。

Micorosoft Word将(臭名昭著)将普通引号转换为“智能引号”。可以在设置中关闭此“功能”。


2
投票

[您应确保您的PHP脚本使用utf-8,并且html meta标签显示utf-8。

首先,在PHP中尝试(在发生任何输出之前)

header('Content-Type: text/html; charset=utf-8');

在php中,您可以使用“ htmlentities”转义大多数HTML特殊字符。参见http://php.net/manual/de/function.htmlentities.php


1
投票

您可能从MS word/MS Excel复制的第一行。它们的双引号不同,因此无法使用HTTP正确解析。您需要使用UTF-8 charset进行转换,然后在您的网站上显示。


0
投票

当我将粘贴的文本文本从Word文档复制到标签时,发生了此问题。如果您仔细观察,Word文档中的双引号与HTML双引号相比看上去几乎没有弯曲。只需删除复制粘贴的双引号并再次输入即可。 “-这是Word的。”-这是HTML的。

© www.soinside.com 2019 - 2024. All rights reserved.