程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 轉碼函數 你還在用iconv嗎?

php 轉碼函數 你還在用iconv嗎?

編輯:關於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’,'UTF-8′,$instr);

?>

mb_convert_encoding

string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] ) 第一個參數:要處理的字符串 第二個參數:目標編碼 第三個參數:內容原編碼
<?php

$instr = '測試';

// GBK轉UTF-8

$outstr = mb_convert_encoding($instr,'UTF-8','GBK',);
?>

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved