0

从我之前的问题分支。

在我的 CMS (CQ5) 中,我正在获取使用 ASCII 编码输入的值。有时输入的这些字符串中的一些包含特殊字符(即版权) ,当我在 PHP 中输​​出它时,会在其前面插入®一个奇怪的字符 。Â

我研究过将其编码为 UTF-8,但这不起作用。我尝试了以下方法:

//$title is the CMS input that contains special characters
$strA = iconv('ASCII', 'UTF-8//IGNORE', $title);
$strB = mb_convert_encoding($title, "UTF-8");
$strC = utf8_encode($title);
4

1 回答 1

1

如果您的字符串包含版权符号,那么它们不是 ASCII!

它们要么已经是 UTF-8,要么是 ISO-8859-1 之类的东西。可以通过查看字符串的实际字节编码来找出哪个。

您还必须确保您的 CMS 生成正确的 HTML 字符集标记,以便用户浏览器知道正在使用哪个字符集,即

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
...
</head>

Â字符是由发送 UTF-8 但没有告诉接收者您已经这样做而引起的常见伪像。

于 2013-03-02T21:49:55.653 回答