iconv('GBK','UTF-8',$str) 如果$str本来就是utf-8 是不是会乱码?

尝试了一下,是直接报错吧,iconv(): Detected an illegal character in input string

iconv('GBK','UTF-8',$str) 如果$str本来就是utf-8 是不是会乱码? - 第1张 - 菜鸟建站

所以我们先判断是不是utf8,再转码吧,这样保险点
mb_detect_encoding — 检测字符的编码

echo mb_detect_encoding($str,'UTF-8,GBK')!='UTF-8'?iconv('GBK','UTF-8',$str):$str;

附:iconv函数使用方法

string iconv ( string in_charset, string out_charset, string str )
注意:第二个参数,除了可以指定要转化到的编码以外,还可以增加两个后缀://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 会自动将不能直接转化的字符变成一个或多个近似的字符,//IGNORE 会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断。

猜你喜欢

iconv('GBK','UTF-8',$str) 如果$str本来就是utf-8 是不是会乱码?

iconv('GBK','UTF-8',$str) 如果$str本来就是utf-8 是不是会乱码?

尝试了一下,是直接报错吧,iconv(): Detected an illegal character in input string所以我们先判断是不是utf8,再转码吧,这样保险点mb_detect_encoding — 检测字符的编码echo mb_detect_encoding($str,'UTF-8,GBK')!...

PHP教程:域名防盗链实例代码

PHP教程:域名防盗链实例代码

实例代码//防盗链域名,多个用|隔开,如:123.com|abc.com 关闭请留空 define('FDL_URL','');   //判断域名防盗链 if(!is_referer(FDL_URL)){     header('HTTP/1.1&n...

发表评论