如何得到一串字符串的字符集编码?

lein29 2006-01-09 06:43:43
<?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");
?>
...全文
198 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
puwaifu 2006-01-10
  • 打赏
  • 举报
回复
mark
lein29 2006-01-10
  • 打赏
  • 举报
回复
mb_detect_encoding
这个好像运行不正确,解析出来的不对。
Cain 2006-01-10
  • 打赏
  • 举报
回复
呵呵,又学了一招
gu1dai 2006-01-10
  • 打赏
  • 举报
回复
用mb_detect_encoding函数探测,此函数需要mb_String库支持。
自己写针对特定编码的函数探测。需要了解特定编码的编码规则。

比如网上有探测字符是否为UTF-8编码的函数和探测是否为GB2312的函数。

本站文档中心有java写的探测宽字符的程序源码。可以对亚洲语言系进行探测。
如果你有兴趣,你可以把它改为PHP的。
ice_berg16 2006-01-09
  • 打赏
  • 举报
回复
??

21,890

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧