PHPÖÐÎÄÂÒÂë½â¾ö·½°¸ |
¡¡¡¡±¾ÎıêÇ©£ºPHP,ÖÐÎÄÂÒÂë ºº×ÖÂÒÂëÕæÊÇÒ»¸ö±¯´ßµÄÊÂÇ飬JAVAÌÖÑẺ×Ö£¬PHPÒ²²»Ï²»¶ºº×Ö£» JavaÂÒÂë×îÖÕʹÓÃÁËspring¸ø³öµÄ¹ýÂËÆ÷À´¹ýÂË£¬´¦´¦¹ýÂË£¬ÆäʵӰÏìÁËËÙ¶È£¬²»¹ýûÓа취£¬ºº×Ö¾ÍÊÇW¹úÊ×ÏȲ»¿¼ÂǵÄÊÂÇ飻 Ïë²»µ½PHPÒ²ÊÇÂÒÂë´¦´¦ÔÚ£¬µ±ÄãʹÓÃÇ×ÐÖµÜMySQLµÄʱºò£¬ºº×ÖÏÔµÃÄÇôÇ×ÇУ¬´Óδ¿¼ÂǹýËû»á±ä³ÉÌìÊ飻²»¹ýΪÁËºÍÆäËûÆäËû½»»¥£¬°ÑPHPµÄÊÖÉìµ½SQL SERVERµÄʱºò£¬ÂÒÂëÀ´ÁË£¬ÔÒòÊǵÚÈý·½ÏµÍ³ÓõÄGBK±àÂ룻 °¥£¬×ª»»°É£» 1£¬PHP×Ô´øµÄת»»º¯ÊýICONV,Ò»¸ö¸ß´óÉϵĺ¯Êý£» ¸´ÖÆ´úÂë ´úÂëÈçÏÂ: string iconv ( string $in_charset , string $out_charset , string $str ) ʹÓÃDEMO£º ¸´ÖÆ´úÂë ´úÂëÈçÏÂ: <?php $text = "This is the Euro symbol €."; echo Original : , $text, PHP_EOL; echo TRANSLIT : , iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL; echo IGNORE : , iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL; echo Plain : , iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL; ?> ´ó¼Ò¶¼ÍƼöµÄº¯Êý£¬²»¹ýʹÓÃÖ®ºóÎÞ·¨×ª»»£¬Ã»ÓдíÎó£¬×Ö·ûҲûÓÐת»»£¬NO! 2£¬Áí±Ùõè¾¶£¬»¹ÓÐÒ»¸ö´ó¼ÒÖÊÒÉЧÂʲ»¸ßµÄº¯Êý£¬²»¹ýÎÞÂÛÈçºÎ£¬ÏÈʵÏÖÔÙ¿¼ÂÇÆäËûÈý ¸´ÖÆ´úÂë ´úÂëÈçÏÂ: //¼ì²é¸Ãº¯ÊýÊÇ·ñ¿ÉÓà echo function_exists(mb_convert_encoding); //¼ì²âµ±Ç°±àÂë echo mb_detect_encoding($val, "GBK, GB2312, UTF-8"); //ת»»±àÂ룬°ÑCP936(¾ÍÊÇGBK)ת»»³ÉUTF-8 $v=mb_convert_encoding ($val, "UTF-8", "CP936"); ½á¹û³É¹¦ÁË; ºÃ°É£¬ÏÈÓÃ×Űɣ¬ÎªÁËת»»Êý¾Ý¿â²éѯµÄ½á¹û¼¯£¬ÖÆ×÷Ò»¸öת»»º¯Êý£º 1£¬º¯Êý¡°ÂÒÂë¿ËÐÇ¡±£º ¸´ÖÆ´úÂë ´úÂëÈçÏÂ: // $fContents ×Ö·û´® // $from ×Ö·û´®µÄ±àÂë // $to Ҫת»»µÄ±àÂë function auto_charset($fContents,$from=gbk,$to=utf-8){ $from = strtoupper($from)==UTF8? utf-8:$from; $to = strtoupper($to)==UTF8? utf-8:$to; if( strtoupper($from) === strtoupper($to) || empty($fContents) || (is_scalar($fContents) && !is_string($fContents)) ){ //Èç¹û±àÂëÏàͬ»òÕß·Ç×Ö·û´®±êÁ¿Ôò²»×ª»» return $fContents; } if(is_string($fContents) ) { if(function_exists(mb_convert_encoding)){ return mb_convert_encoding ($fContents, $to, $from); }else{ return $fContents; } } elseif(is_array($fContents)){ foreach ( $fContents as $key => $val ) { $_key = auto_charset($key,$from,$to); $fContents[$_key] = auto_charset($val,$from,$to); if($key != $_key ) unset($fContents[$key]); } return $fContents; } else{ return $fContents; } } 2£¬Ê¹Ó㺠¸´ÖÆ´úÂë ´úÂëÈçÏÂ: //´òÓ¡Êä³ö²éѯ½á¹û£¨¼ÙÉèÄãµÄ½á¹û£© $arr=array(); while($list=mssql_fetch_row($row)) { $arr[]=$list; } $s=auto_charset($arr,gbk,utf-8); //´òÓ¡ÊÔÊÔ£¬ÔÚä¯ÀÀÆ÷ÉèÖñàÂëΪUFT-8£¬¿´Ã»ÓÐÂÒÂë print_r($s);die(); ÒÔÉÏËùÊö¾ÍÊDZ¾ÎĹØÓÚphpÖÐÎÄÂÒÂëµÄ½éÉÜÁË£¬Ï£Íû´ó¼ÒÄܹ»Ï²»¶ ¡£ |