1
htmlentities($this->name, null, "UTF-8");

スター (★) をエンコードしません。スターをエンコードするにはどうすればよいですか?

更新: &acirc星をレンダリングしません。また、私は使用しています:

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

4

2 に答える 2

2

スターをエンコードするにはどうすればよいですか?

できません。htmlentitiesすべての Unicode 文字をエンコードするわけではありません。ただし、このようないくつかの回避策を試すことができます

または、次の出力を利用できます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 &#x2605; Star
于 2012-12-18T22:24:30.870 に答える
2

PHP >= 5.4 では、encodingパラメータのデフォルト値が に変更されましたUTF-8

使用する場合:

htmlentities( "★", null, "ISO-8859-1");

星印は に変換され&acirc;ます。

于 2012-12-18T21:29:36.427 に答える