°Ù·Ö°ÙÔ´ÂëÍø-Èý¨Õ¾±äµÃÈç´Ë¼òµ¥£¡ µÇ¼ ×¢²á Ç©µ½Áì½ð±Ò£¡

Ö÷Ò³ | ÈçºÎÉý¼¶VIP | TAG±êÇ©

µ±Ç°Î»ÖÃ: Ö÷Ò³>ÍøÕ¾½Ì³Ì>Ö¯ÃÎCMS½Ì³Ì> PHP5.4¼°PHP5.5¹ØÓÚhtmlspecialcharsÊä³öΪ¿ÕµÄÎÊÌâ
·ÖÏíÎÄÕµ½£º

PHP5.4¼°PHP5.5¹ØÓÚhtmlspecialcharsÊä³öΪ¿ÕµÄÎÊÌâ

·¢²¼Ê±¼ä£º06/20 À´Ô´£ºÎ´Öª ä¯ÀÀ£º ¹Ø¼ü´Ê£º
µ¥Î»¸ü»»ÐµķþÎñÆ÷£¬È«²¿²ÉÓõÄwindows server 2008 r2 64λϵͳ£¬ÔÚ¼èÄѵÄÅäÖû·¾³Ö®ºó£¬È´·¢ÏÖIIS7.5Ó¦Óóز»¶Ï±¨´í£¬ºóÀ´¸ü»»ÁËPHP5.5µÄ64λ°æ±¾£¬¾Í½â¾öÁËÎÊÌ⣬¿´À´ÔÚ64λwin2008Ï£¬»¹ÊÇ64λPHP²ÅÊÇ×î¼Ñ´îÅä°¡¡£
 
µ«ÊÇ£¬¿à±ÆµÄÊÂÇé×ÜÊÇÄÇô¶à£¬±¾ÈËÖÆ×÷µÄÍøÕ¾ÊÇdedeϵͳµÄ£¬Ôڵǽºǫ́ʱȴÓöµ½ÁËÂé·³£¬µÇ½ºóÌáʾHTTp500´íÎó£¬Ò»·¬ËÑË÷½â¾öÖ®ºó£¬ÓÖÓöµ½·¢±íÐÂÎÄÕÂÌáʾ±êÌâ²»ÄÜΪ¿ÕµÄÎÊÌ⣬Ã÷Ã÷ÓбêÌ⣬ȴ²»ÐУ¿ÕâÊÇÒòΪÔÚPHP5.4¼°ÒÔºóµÄ°æ±¾ÖÐhtmlspecialcharsĬÈÏΪUTF8£¬ÄãÊÇÖÐÎÄ£¬µ±È»¼ì²â²»µ½ÄãÁË¡£Õæ¾À½á°¡£¡Ö»ºÃ°´ÕÕ½â¾öDEDE±êÌâΪ¿ÕµÄ°ì·¨Ìæ»»Ò»Á˸ö±é£¬·¢ÏÖDEDEÓÐÊ®¼¸´¦Óõ½ÁËhtmlspecialcharsÊôÐÔ£¬»¹ºÃÀ²¡£
 
ÁíÍâתÀ´Ò»Î»¼¼Êõ´óţдµÄÎÄÕ£¬Ï£Íû¶ÔÄúÓаïÖú¡£Ô­ÎÄÈçÏ£º
 
´Ó¾É°æÉý¼¶µ½php5.4£¬¿ÖÅÂ×îÂé·³µÄ¾ÍÊÇhtmlspecialcharsÕâ¸öÎÊÌâÁË£¡µ±È»£¬htmlentitiesÒ²»áÊÜÓ°Ï죬²»¹ý£¬¶ÔÓÚÖÐÎÄÕ¾À´ËµÒ»°ãÓÃhtmlspecialchars±È½Ï³£¼û£¬htmlentities·Ç³£ÉÙÓõ½¡£
 
¿ÉÄÜÀÏÍâÈÏΪÍøÒ³ÆÕ±éÓ¦¸ÃÊÇutf-8±àÂëµÄ£¬ÓÚÊÇ¿àÁËÄÇЩÓÃGB2312£¬GBK±àÂëµÄÖÐÎÄÕ¾......£¡
 
¾ßÌå±íÏÖ£º
 
$str = "9enjoy.comµÄphp°æ±¾ÊÇ5.2.10";
echo htmlspecialchars($str);
 
gbk×Ö·û¼¯ÏÂÊä³öΪ¿Õ...utf-8Ï£¬Êä³öÕý³£¡£
 
ΪʲôÄØ£¬Ô­ÒòÔÚÓÚ5.4.0¶ÔÕâ¸öº¯ÊýµÄ±ä»¯£º
 
5.4.0   The default value for the encoding parameter was changed to UTF-8.
 
Ô­À´ÊÇʲôÄØ£¿
 
string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )
 
Defines encoding used in conversion. If omitted, the default value for this argument is ISO-8859-1 in versions of PHP prior to 5.4.0, and UTF-8 from PHP 5.4.0 onwards.
 
Ô­À´ÊÇISO-8859-1£¬5.4ºóĬÈϱä³Éutf-8£¡È»ºóÖÐÎÄʹÓÃÕâ¸öº¯Êý¾ÍÊä³öΪ¿Õ°×ÁË¡£
 
¹úÄÚÒ»¶Ñ¿ªÔ´³ÌÐòÔÚ5.4϶¼»áÓÐÕâÑùµÄÎÊÌ⣬DISCUZ¹Ù·½Ò²½¨ÒéÓû§²»ÒªÉý¼¶µ½5.4¡£
 
½â¾ö·½°¸£º
 
1.¿à±ÆµÄÐÞ¸ÄËùÓÐÓõ½htmlspecialcharsµØ·½µÄ³ÌÐò
 
1.1 ÆäµÚ¶þ¸ö$flags²ÎÊý£¬Ä¬ÈÏÊÇENT_COMPAT£¬Òò´Ë¸Ä³É
htmlspecialchars($str,ENT_COMPAT,'GB2312');
Ϊʲô²»ÊÇGBK£¿ÒòΪûÓÐGBKÕâ¸ö²ÎÊý£¬Èç¹ûÇ¿ÐÐʹÓÃGBK£¬Ôò±¨´í¸øÄã¿´£º
Warning: htmlspecialchars(): charset `gbk' not supported, assuming utf-8
ΪÁËÄÜʹÓÃGBK£¬Ôò¸Ä³É£º
htmlspecialchars($str,ENT_COMPAT,'ISO-8859-1');
 
1.2.Ò»ÑùÊǸijÌÐò£¬µ«¿ÉÒÔÊ¡ÂÔÒ»¸ö²ÎÊý¡£
¿ÉÒÔÔÚÍøҳͷ²¿¼Ó
ini_set('default_charset','gbk');
È»ºó¸Ä³É
htmlspecialchars($str,ENT_COMPAT,'');
ÎĵµÖÐÓÐд£ºAn empty string activates detection from script encoding (Zend multibyte), default_charset and current locale (see nl_langinfo() and setlocale()), in this order. Not recommended.
´ó¸ÅÒâ˼¾ÍÊÇ£º´«Èë¿Õ×Ö·û´®ÔòʹÓÃdefault_charsetµÄ±àÂë
 
1.3.·â×°Ò»¸öº¯Êý°É...±¾À´htmlspecialcharsÕâ¸öµ¥´ÊÒ»Ö±²»ºÃ¼Ç¡£
function htmlout($str) {
    return htmlspecialchars($str,ENT_COMPAT,'ISO-8859-1');
}
È»ºóÈ¥ÅúÁ¿Ìæ»»¡£


×îаæÖ¯ÃÎϵͳÒѾ­½â¾öÁËÕâ¸öÎÊÌ⣬½«°æ±¾¸üÐÂΪ×îм´¿É½â¾ö¡£
´òÉÍ

´òÉÍ

È¡Ïû

¸ÐлÄúµÄÖ§³Ö£¬ÎÒ»á¼ÌÐøŬÁ¦µÄ!

ɨÂëÖ§³Ö
ɨÂë´òÉÍ£¬Äã˵¶àÉپͶàÉÙ

´ò¿ªÖ§¸¶±¦É¨Ò»É¨£¬¼´¿É½øÐÐɨÂë´òÉÍŶ

°Ù·Ö°ÙÔ´ÂëÍø ½¨Òé´òÉÍ1¡«10Ôª£¬ÍÁºÀËæÒ⣬¸ÐлÄúµÄÔĶÁ£¡

¹²ÓÐ156ÈËÔĶÁ£¬ÆÚ´ýÄãµÄÆÀÂÛ£¡·¢±íÆÀÂÛ
êdzƣº ÍøÖ·£º ÑéÖ¤Â룺 µã»÷ÎÒ¸ü»»Í¼Æ¬
×îÐÂÆÀÂÛ

±¾ÎıêÇ©

¹ã¸æÔÞÖú

ÄܳöÒ»·ÖÁ¦ÊÇÒ»·Ö°É£¡

¶©ÔÄ»ñµÃ¸ü¶àÄ£°å

±¾ÎıêÇ©

¹ã¸æÔÞÖú

¶©ÔÄ»ñµÃ¸ü¶àÄ£°å