首頁  >  文章  >  後端開發  >  php如何轉編碼

php如何轉編碼

藏色散人
藏色散人原創
2020-11-05 09:17:583513瀏覽

php轉編碼的實作方法:1、使用iconv函數轉換目標編碼,語法如「iconv('GBK','UTF-8′,$instr);」;2、透過mb_convert_encoding函數轉換編碼。

php如何轉編碼

推薦:《PHP影片教學

在使用PHP處理字串時,我們常常會碰到字符編碼轉換的問題,你碰到過iconv轉換失敗嗎?

發現問題時,網路搜了搜,才發現iconv原來有bug ,碰到一些生僻字就會無法轉換,當然了配置第二個參數時,可以稍微彌補一下預設缺陷,不至於無法轉換是截斷,用法如下

iconv(“UTF-8″,”GB2312//IGNORE”,$data)  ;

這樣碰到生僻字轉換失敗時,它就會忽略失敗,繼續轉換下面的內容,這算解決問題的一個辦法,不過為了確保轉換的成功率,我們可以用另一個轉換函數(mb_convert_encoding),查資料網上說,這個函數效率不是很高,另外這個函數還可以省略第三個參數,自動識別內容編碼,不過最好不要用,影響效率,還需要注意的時,mb_convert_encoding和iconv參數順序不一樣,一定要注意。

附兩個函數簡單的用法:

iconv

string iconv ( string $in_charset , string $out_charset , string $str )

第一個參數:內容原的編碼

#第二個參數:目標編碼

第三個參數:要轉的字串

函數傳回字串

<?php
$instr = ‘测试’;
// GBK转UTF-8
$outstr = iconv(‘GBK’,&#39;UTF-8′,$instr);
?>

mb_convert_encoding

string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )

第一個參數:要處理的字串

第二個參數:目標編碼

第三個參數:內容原始編碼

<?php
$instr = &#39;测试&#39;;
// GBK转UTF-8
$outstr = mb_convert_encoding($instr,&#39;UTF-8&#39;,&#39;GBK&#39;,);
?>

個人建議碰到轉碼問題時採用mb_convert_encoding比較保險。

以上是php如何轉編碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn