如果我们知道当前的编码是ASCII,则可以使用'iconv'函数将ASCII转换为UTF-8。原始字符串可以作为参数传递给iconv函数,以将其编码为UTF-8。
示例<?php
$str = "ábrêcWtë";
echo 'Original :', ("$str"), PHP_EOL;
echo 'Plain :', iconv("UTF-8", "ISO-8859-1", $str), PHP_EOL;
?>
具有特殊字符的字符串被分配给'str'变量。它以当前所在的编码以及需要转换为的编码传递到'iconv'函数。
输出结果
这将产生以下输出-Original :ábrêcWtë Plain :�br�cWt�
另一种方法是检测编码,然后将其转换为适当的编码-
示例$string = "ábrêcWtë";
print(mb_detect_encoding ($string));
$string = mb_convert_encoding($string, "UTF-8");
print(mb_detect_encoding ($string));
具有特殊字符的字符串值分配给'string; 变量。这被传递到“ mb_convert_encoding”函数,该函数将其转换为目标编码。
输出结果
这将产生以下输出-UTF-8UTF-8
任意字符编码转换为UTF-8function strToUtf8($str){
$encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));
if($encode == 'UTF-8'){
return $str;
}else{
return mb_convert_encoding($str, 'UTF-8', $encode);
}
}