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


Double Quotes shown as some strange characters - PHP, HTML

如果你注意到下面的两行,双引号是不一样的。 第一个是我有问题的地方。它们显示为奇怪的字符,例如 - â 。但是 secound 行双引号很好。

"这是1号线。">

"这是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

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

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

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

由于 ascii 代码 #127 以外的字符定义可能会变得有些混乱,具体取决于所使用的字体,因此我尽量避免使用智能引号字符。

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

当我将粘贴的文本文本从 Word 文档复制到标签时,我遇到了这个问题。如果您仔细观察Word文档双引号与HTML双引号相比看起来有点弯曲。只是删除复制粘贴的双引号并再次输入有所帮助。 " - 这来自 Word ." - 这是来自 HTML 的。你自己可以看到不同