您的位置:

php检查编码,php 代码检查工具

本文目录一览:

php有没有查看当前的编码方式的方法

编码问题是解码者决定的,数据本身并不指明编码方式,而是读数据的解码者选择自己的解码方式

此处,php程序是数据本身,php解释器是解码者本身,

php解释器对 php程序的编码方式 并不应人类对php程序的编码方式理解不同而转移

因此,理论上不存在获取当前数据编码方式的 接口,只要当时的编码者(譬如人类)显示指明编码方式,

解码者(譬如php解释器)方可获知

即使在解析以后再人类看来是一片乱码, PHP认为一切都是正确的.

当然从前端获取来的字符例外

 

如果不清楚字符串的编码格式的话,就可以将这段字符这样检查:

$encode = mb_detect_encoding($string, array("ASCII",'UTF-8′,"GB2312′,"GBK",'BIG5′)); 

echo $encode;

这样就能知道它是什么编码的了。后续操作还可以为其转码:

if ($encode == “UTF-8″){

$string = iconv("UTF-8″,"GBK",$string);

}

php 怎样判断字符串是哪种编码

php中有个函数可以用来检查当前字符串的编码类型

mb_detect_encoding($str,array('ASSCII',''GB2312','UTF-8));

PHP用MBString库的函数

$e=mb_detect_encoding($text, array('UTF-8', 'GBK'));

switch($e){

case 'UTF-8' : //如果是utf8编码

break;

case ‘GBK’: //如果是gbk编码

break

}

用PHP如何判断一个文件的编码

文件a.txt,用PHP如何判断它的编码是GBK还是UTF-8呢?

1,重新认识一下此问题,当时版主回复的时候我就觉得mb函数里一定有这样的功能,但今日研究了mb库,并没有这样的功能。用mb_detect_encoding总是不准确。

echo mb_detect_encoding(file_get_contents('a.txt'));

2,我在PHP的在线文档中找了一个方法,可以解决你的问题,需要自己编写一个函数来实现。

具体代码如下:

function isUTF8($str)

{

if ($str === mb_convert_encoding(mb_convert_encoding($str, "UTF-32", "UTF-8"), "UTF-8", "UTF-32"))

{

return true;

}

else

{

return false;

}

}

$content = file_get_contents("a.txt");

echo isUTF8($content);

3,经测试,在编码种类不多的情况下,2方法成功率还是挺高的。

function ChickC($str)

{

$array = array('ASCII','GBK','UTF-8');

foreach ($array as $value)

{

if ($str === mb_convert_encoding(mb_convert_encoding($str, "UTF-32", $value), $value, "UTF-32"))

return $value;

}

return false;

}