在网上找过如下的代码:
----------------------------
require.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);//转化为big5
  $str=str_replace("charset=gb2312","charset=big5",$str);//替换字符类型
  header("Content-Type:text/html;charset=big5");//繁体文件头
  return $str;
}
if(session_is_registered("php2000_big5")&&($php2000_big5==1)){//判断标志
$fp=fopen("big5.map","r");//big5的字库表
$_gb_big5_=fread($fp,filesize("big5.map"));//读出数据
fclose($fp);
ob_start("translate_gb2big5");//启动输出信息控制
}
?>
---------------------------------
php2000_gb_big5.php
<?
if(!session_is_registered("php2000_big5")){ //检查简繁体的注册状态
  session_register("php2000_big5");//注册简繁体标志,简体为0,繁体为1
  $php2000_big5=0;//默认为简体
}
$php2000_big5=($php2000_big5+1)%2;//切换简繁体状态
header("location:".getenv("HTTP_REFERER"));//返回其调用页面
?>
-----------------------------
test.php
<?
include("require.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<?
echo "大家好,这里是PHP世纪网";
?>
<a href="php2000_gb_big5.php">
<?
if($php2000_big5==0)
  echo "GB";
else
  echo "Big5";
?>
</a>
</body>
</html>
运行test.php,点击“GB”没反应
还有,那个对照表是不是PHP自带的