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

时间:2013-10-09 12:30:01

标签: php zend-framework html-entities double-quotes

如果你注意到下面的两行,那么双引号就不一样了。第一个是我遇到的问题。它们显示为奇怪的字符,如 - 。但是双线引号很好。

“这是第1行。”

“这是第2行。”

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

4 个答案:

答案 0 :(得分:2)

你应该确定,你的PHP脚本使用utf-8,以及html元标记说utf-8。

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

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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

因为ascii代码#127之外的字符定义可能会因某些字体而变得有些不同,所以我尽量避免使用智能引号字符。

Micorosoft Word将(臭名昭着)将正常报价转换为“智能报价”。可以在设置中关闭此“功能”。

答案 3 :(得分:0)

当我将粘贴的文本文本从Word文档复制到标签时,发生了此问题。如果仔细观察,Word文档中的双引号看上去与HTML双引号不太一样。只需删除复制粘贴的双引号并再次输入即可。 ”-来自Word。”-来自HTML。您可以看到自己的不同之处