PHP编码转换和PHP编码判断

iconv详解:

iconv — 字符串按要求的字符编码来转换


string iconv ( string $in_charset , string $out_charset , string $str )
将字符串 str 从 in_charset 转换编码到 out_charset。

参数说明:
in_charset 输入的字符集。
out_charset 输出的字符集。
如果你在 out_charset 后添加了字符串 //TRANSLIT,将启用转写(transliteration)功能。这个意思是,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。 如果你添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。 否则,str 从第一个无效字符开始截断并导致一个 E_NOTICE。
str 要转换的字符串。

返回值 

返回转换后的字符串, 或者在失败时返回 FALSE。


字符串编码未知的情况下对字符串进行编码:
1、无论字符串编码是什么,均转换为gbk

function getSafeStr($str){
	$s1 = iconv('utf-8','gbk',$str);
	$s0 = iconv('gbk','utf-8',$s1);
	if($s0 == $str){
		return $s1;
	}else{
		return $str;
	}
}

2、无论字符串编码是什么,均转换为utf-8
function getSafeStr($str){
	$s1 = iconv('gbk','utf-8',$str);
	$s0 = iconv('utf-8','gbk',$s1);
	if($s0 == $str){
		return $s1;
	}else{
		return $str;
	}
}

获取字符串编码方法:

function getcode($str)
{
	$s1 = iconv('utf-8','gbk',$str);
	$s0 = iconv('gbk','utf-8',$s1);
	if($s0 == $str){
		return 'utf-8';
	}else{
		return 'gbk';
	}
}



你可能感兴趣的:(PHP编码转换和PHP编码判断)