2012-12-30 31 views

回答

7
$str = "É"; //É 

$res = mb_strtolower(html_entity_decode($str,ENT_COMPAT|ENT_HTML401,'UTF-8'),'UTF-8'); 

echo $res; 
+0

'警告:html_entity_decode()期望參數2很長,在第4行中的/ in/F6TSA中給出字符串http://3v4l.org/F6TSA –

+0

現在在PHP 5.4+中工作,在5.0-5.3中生成通知'使用未定義的常量ENT_HTML401'):http://3v4l.org/uWbbu –

+0

好吧,我錯誤的編碼參數在第一個 –

1

轉換的hexit爲十進制,並添加32,轉換回hexit。


或者使用mbstring

$res = mb_strtolower(mb_convert_encoding($str, 'UTF-8', 'HTML-ENTITIES'), 'UTF-8') 
+0

它是從大寫字母到小寫字母加上32。 – irrelephant

+0

它不適用於ASCII嗎? –

+0

@irrelephant:是的,謝謝。 –

0

在我的服務器上,我沒有安裝mbstring擴展。對於更好的跨服務器解決方案,您應該使用此代替:

echo htmlentities(strtoupper(html_entity_decode($str))); 
相關問題