当前位置:首页> PHP教程> php进阶
关键字
文章内容
任意字符集下正常显示网页的方法
 
 
修改时间:[2008/10/07 08:08]    阅读次数:[1463]    发表者:[起缘]
 
<?php
// 在任意字符集下正常显示网页的方法
// 测试通过
// 可以在存入数据库前使用

error_reporting(E_ALL);

if(
function_exists('mb_convert_encoding')) {// 需要有 Multibyte String 扩展
        
$a mb_convert_encoding('你好''HTML-ENTITIES''GB2312');
        
$b mb_convert_encoding($a'GB2312''HTTP-ENTITIES');
        
wFile('try.php'$a.'n'.$b);
        
/*如果需要对整个页面进行转换,只需要在PHP文件头加上下面三行
        mb_internal_encoding('gb2312');
        mb_http_output('HTML-ENTITIES');
        ob_start('mb_output_handle');
        */
} elseif(function_exists('iconv')) {
        
$a uiconv('gb2312''a,世界您好!$%#abc');
        
wFile('try.php'$a);
        print 
$a;
} else print 
'sorry my baby';

function 
wFile($file$content) {
        
$fp fopen($file'w');
        
flock($fp2);
        
fwrite($fp$content);
        
flock($fp3);
        
fclose($fp);
}

// 使用 iconv 对页面进行转换--测试通过
function uiconv($encode$string) {
        
$string iconv($encode'UTF-16BE'$string);
        
$output '';
        for(
$i 0$i strlen($string); $i++,$i++) {
                
$code ord($string{$i}) * 256 ord($string{$i 1});
                if(
$code 128) {
                        
$output .= chr($code);// chr 是把英文或是半角符号转换为字符
                
} elseif($code != 65279) {
                        
$output .= '&#'.$code.';';
                }
        } return 
$output;
}
?> 


(非常全面的一个php技术网站, 有相当丰富的文章和源代码.)