PHP自动字符集和代码转换的详细说明

原理很简单,因为GB2312或GBK是中国两个字节,这些字节有一个范围值,而UTF-8的汉字是三个字节,和相同的字节的值的范围。任何编码条件下英语,都小于128,只占用一个字节(所有除外)。
如果是在一个文件形式的代码检查,可直接检查utf-8.not多BOM信息说,直接的作用,这个功能是用来检查并转换成字符串。
复制代码代码如下所示:
< PHP
功能safeencoding($字符串,outencoding美元= 'utf-8)
{
美元=UTF-8编码;
为($我= 0;$我< strlen($字符串);$我+ +)
{
如果(ORD($字符串{我})<128)
继续;

如果(((ORD($字符串{我})224)= = 224)
{
第一个字节由判断。
$ char = $;
如果(((ORD($字符)128)= = 128)
{
判断的第二个字节
$ char = $;
如果(((ORD($字符)128)= = 128)
{
美元=UTF-8编码;
打破;
}
}
}

如果(((ORD($字符串{我})192)= = 192)
{
第一个字节由判断。
$ char = $;
如果(((ORD($字符)128)= = 128)
{
判断的第二个字节
美元=GB2312编码;
打破;
}
}
}

如果(strtoupper($编码)= strtoupper($ outencoding))
返回$字符串;
其他的
返回iconv($编码,outencoding美元,为字符串);
}
>