每当我使用某些独特字符(例如™)时,页面都会输出此符号:
如何转换这些字符以便在页面上正常显示?
我目前正在使用这个PHP,但它删除了字符而不是将它们转换为可以正常显示的字符:
function convert_to($str, $target_encoding = "UTF-8") {
$encoding = mb_detect_encoding($str, "auto");
$target = str_replace("?", "[question_mark]", $str);
$target = mb_convert_encoding( $target, $target_encoding, $encoding);
$target = str_replace("?", "", $target);
$target = str_replace("[question_mark]", "?", $target);
return $target;
}
答案 0 :(得分:2)
那个"问号字符"实际上是一个不可读的UTF-8角色。您需要将原始™字符更改为™
或调整PHP服务器的编码选项。这是另一篇讨论类似问题的帖子:Convert any string to UTF-8
答案 1 :(得分:1)
echo htmlentities($str, ENT_QUOTES, 'UTF-8');