htmlentities($this->name, null, "UTF-8");
不对星(★)进行编码。我怎样才能对它进行编码呢?
更新: â
无法渲染星标。另外,我正在使用:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
答案 0 :(得分:2)
在PHP&gt; = 5.4中,encoding
参数的默认值已更改为UTF-8
。
如果您使用:
htmlentities( "★", null, "ISO-8859-1");
明星角色将转换为â
。
答案 1 :(得分:2)
如何让它对星星进行编码?
你做不到。 htmlentities
不会对所有Unicode字符进行编码。但您可以尝试一些解决方法,例如this one
或者您可以使用json_encode
的输出:
$txt = preg_replace_callback(
'/[\x80-\xFF]{3,}/', //do not trust this, it's only example that works for small range of unicode characters, that happens to include black star
function($m){
return str_replace('\\u','&#x',trim(json_encode($m[0]),'"')).';';
}, "Black ★ Star"
); // Black ★ Star