方法:1、使用iconv函數,語法「iconv(原始字元類型, 'UTF-8', 字串)」;2、使用mb_convert_encoding函數,語法「mb_convert_encoding(字串, 'UTF-8 ', 原字元類型)」。
本文操作環境:windows7系統、PHP7.1版,DELL G3電腦
一、使用iconv()函數iconv
函數可以將一個已知的字元集檔案轉換成另一個已知的字元集檔案。例如:從GB2312
轉換為UTF-8
。 iconv在轉換字元”—”到“gb2312
”時會出錯,解決方法是在需要轉成的編碼後加上“//IGNORE
”,也就是iconv函數第二個參數。如下:
iconv("UTF-8", "GB2312//IGNORE", $data)
ignore
的意思是忽略轉換時的錯誤,如果沒有ignore
參數,所有該字元後面的字串都無法被儲存。
<?php echo $str= ‘你好,这里是卖咖啡!'; echo '<br />'; echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8 ?>
二、使用「mb_convert_encoding」將字串轉換成UTF8字元集
在使用mb_convert_encoding
時要先知道字元編碼,如果編碼錯誤就會亂碼,使用mb_detect_encoding
自動辨識字串編碼,並轉換成國際標準編碼utf-8編碼。
<?php $encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5','LATIN1')); if($encode != 'UTF-8'){ $name = mb_convert_encoding($name, 'UTF-8', $encode); } ?>
推薦教學:php影片教學
#以上是php如何將字串轉utf8格式的詳細內容。更多資訊請關注PHP中文網其他相關文章!