如何得到一串字符串的字符集编码?
<?php
function substr_cn($str, $len, $start = 0)
{
$strlen = strlen($str);
for($i = 0; $i < $strlen; $i++)
{
if($i >= $start && $i < ($start + $len))
{
if(ord(substr($str, $i,1)) > 0xa1)
{
$tmpstr .= substr($str, $i, 2);
$i++;
}else
$tmpstr .= substr($str, $i, 1);
}
}
if(strlen($tmpstr) > $len)
{
$len--;
return substr_cn($str, $len, $start);
}
return iconv("big5","UTF-8",$tmpstr);
//return iconv("BIG5","UTF-8",$tmpstr);
}
function chk_word_code($str){
if(strlen(iconv("big5","UTF-8",$str))==strlen($str)){
return "big5";
}elseif(strlen(iconv("gbk","UTF-8",$str))==strlen($str)){
return "gbk";
}elseif(strlen(iconv("gb2312","UTF-8",$str))==strlen($str)){
return "gb2312";
}else{
return "iso-8899-1";
}
}
$str1="棵辊玂臔祘Α: Ace Screensaver腊眤籹瓜棵辊玂臔祘Α";//big5
$str2="是個簡單易用的螢幕保護程式製作工具,1 分鐘就能製作完成您個";//gbk
$str3="22d你说什么呢";//gb2312
$str4="dsfasd4345";//iso
echo chk_word_code($str1)."<br>";
echo chk_word_code($str2)."<br>";
echo chk_word_code($str3)."<br>";
echo chk_word_code($str4)."<br>";
echo $str1=substr_cn($str1,16,0)."<-<br>";
echo $_SERVER['HTTP_ACCEPT_LANGUAGE'];
echo "<br>".date("Y-m-d H:i:s");
?>