最近开发网站,需要判断用户是搜索什么关键词进来的。功能是实现了,但是遇到一个问题,就是不知道用户用的搜索引擎是什么编码的。因此经常一阵搜索,终于找到下面的解决方案:
//返回: true – 含GB编码 false – 为UTF-8编码
function is_gb2312($str) { for($i=0; $i<strlen($str); $i++) { $v = ord( $str[$i] ); if( $v > 127) { if( ($v >= 228) && ($v <= 233) ) { if(($i+2) >= (strlen($str)- 1)) return true; // not enough characters $v1 = ord( $str[$i+1] ); $v2 = ord( $str[$i+2] ); if( ($v1 >= 128) && ($v1 <=191) && ($v2 >=128) && ($v2 <= 191) ) // utf编码 return false; else return true; } } } return true; }