GB转BIG5的程序,不过出了点问题,提示php出错,大家帮忙看看
<?
Session_start();
function gb2big5($str) {
global $_gb_big5_;
$leng = strlen($str)-1;
for($i = 0; $i<$leng; $i++){
$h = ord($str[$i]);
if($h>=160){
$l = ord($str[$i+1]);
$gb=($h==161 && $l==64)?" " : substr($_gb_big5_, ($h-160)*510+($l-1)*2, 2);
$str[$i] = $gb[0];
$str[$i+1] = $gb[1];
$i++;
}
}
return $str;
}
function translate_gb2big5($str) {
$str = gb2big5($str);
$str = str_replace('charset=gb2312', 'charset=big5', $str);
header('Content-Type: text/html; charset=big5');
return $str;
}
if(session_is_registered("big5") && ($big5==1)){
$fp = fopen('file/gb-big5.table', 'r');
$_gb_big5_ = fread($fp, filesize('file/gb-big5.table'));
fclose($fp);
ob_start('translate_gb2big5');
}
else{
ob_start();
}
?>