PHP转换?人物

PHP convert ? characters

每当我使用某些独特的字符,例如 ™ 时,页面就会输出这个符号:

如何转换这些字符才能在页面上正常显示?

我目前正在使用这个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;
}

那个"question mark character"实际上是一个不可读的UTF-8字符。您需要将原始 ™ 字符更改为 ™ 或调整 PHP 服务器的编码选项。这是另一个讨论类似问题的 post:Convert any string to UTF-8

echo htmlentities($str, ENT_QUOTES, 'UTF-8');

使用htmlentities