从我之前的question分支。
在我的CMS(CQ5)中,我抓取使用ASCII编码输入的值。有时输入的这些字符串中的一些包含特殊字符(即 - copyright ®
)当我在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);
答案 0 :(得分:1)
如果您的字符串包含版权符号,那么它们不是ASCII!
他们要么已经是UTF-8,要么是ISO-8859-1。通过查看字符串的实际字节编码,可以找出哪一个。
您还必须确保您的CMS生成正确的HTML字符集标记,以便用户浏览器知道正在使用哪个字符集,即
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
...
</head>
Â
字符是发送UTF-8引起的常见假象,但没有告诉接收者您已经这样做了。