php怎样判断字符串是啥编码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php怎样判断字符串是啥编码相关的知识,希望对你有一定的参考价值。

php判断字符编码的二个方法:
一个是用php自带的函数mb_detect_encoding,一个是个人写函数来处理。
方法1,使用mb_detect_encoding函数。
?

1
2
3
4

<?php
$str=”<a href="http://www.baidu.com/" target="_blank" class="infotextkey">脚本</a>”;
echo mb_detect_encoding($str);
?>

方法2,自定义函数。
?

1
2
3
4
5
6
7
8
9
10
11

<?php
function chkbm($string)
$bm = array(‘ASCII’, ‘GBK’, ‘UTF-8′);
foreach($bm as $c)
if( $string === <a href="http://www.baidu.com/" target="_blank" class="infotextkey">iconv</a>(‘UTF-8′, $c, iconv($c, ‘UTF-8′, $string)))//转换编码后是不是相等
return $c;


return null;

?>
参考技术A PHP用MBString库的函数
$e=mb_detect_encoding($text, array('UTF-8', 'GBK'));
switch($e)
case 'UTF-8' : //如果是utf8编码
break;
case ‘GBK’: //如果是gbk编码
break
本回答被提问者采纳

php怎样判断一个字符串是否包含另一个字符串?

我觉得最简单的就是这种了 strpos($a, $b) !==false 如果$a 中存在 $b,则为 true ,否则为 false

用 !== false (或者 === false)的原因是如果 $b 正好位于$a的开始部分,那么该函数会返回int(0),那么0是false,但$b确实位于$a中,所以要用 !==判断一下类型,要确保是严格的 false,不能直接用strpos($a, $b) !==true.

以上是关于php怎样判断字符串是啥编码的主要内容,如果未能解决你的问题,请参考以下文章

怎样判断一个字符是否汉字呢??

php里面怎样把utf-8编码的字符串 (如 \u5e7f), 重新解码成中文,多谢

php 怎样判断一段字符 有没有经过 urlencode 处理

php 怎样判断一个字符串为正则表达式

php怎样判断一个字符串是否包含另一个字符串?

php怎样判断一个字符串是否包含另一个字符串?