php 字元編碼

2022-04-09 03:52:10 字數 2534 閱讀 1722

1.檢視頁面輸入,內部,輸出編碼:

print_r(iconv_get_encoding("all"));

2.對指字串進行編碼轉換:

echo iconv('utf-8','gb2312','我們');        //把『我們』由utf8編碼轉換為gb2312編碼

**iconv(in_charset,outcharset//translit//ignore,$string);//'translit':如果在輸出的編碼格式中不含有的字元,可以在類似編碼中查詢取代;'ignore':如果輸出格式編碼中不含有字串中的某字元時,能夠跳過進行後面字元的編碼。否則在轉碼失敗處會中斷輸出,產生錯誤。

3.將字串進行編碼轉換(可自動判斷編碼型別,但聽說效率沒有iconv好。)

mb_convert_encoding(『我們』, 'utf-8','gb2312' );  //將『我們』由gb2312轉換為utf8

mb_convert_encoding(『我們』, 'utf-8');       //將『我們』轉換成utf8編碼格式

/* "auto" is expanded to "ascii,jis,utf-8,euc-jp,sjis" */

$str = mb_convert_encoding($str, "euc-jp", "auto");

/* auto detect encoding from jis, eucjp-win, sjis-win, then convert str to ucs-2le */

$str = mb_convert_encoding($str, "ucs-2le", "jis, eucjp-win, sjis-win");

**第三個引數還可以是array()形式

4.設定編碼格式:

iconv_set_encoding("internal_encoding", "utf-8");   //設定內部編碼為utf8

iconv_set_encoding("output_encoding", "iso-8859-1"); //設定輸出編碼為iso-8859-1

設定選項:1.input_encoding 2.output_encoding 3.internal_encoding

**iso-8859-1編碼是單位元組編碼,向下相容ascii, latin1是iso-8859-1的別名

5.檢視字串編碼方式:

格式:string mb_detect_encoding(string$str[,mixed$encoding_list= mb_detect_order()[,bool$strict= false]] )

$str='編碼方式';

echo mb_detect_encoding($str);  //:utf-8

/* "auto" is expanded to "ascii,jis,utf-8,euc-jp,sjis" */

echo mb_detect_encoding($str, "auto");

/* specify encoding_list character encoding by comma separated list */

echo mb_detect_encoding($str, "jis, eucjp-win, sjis-win");

/* use array to specify encoding_list  */

$ary = "ascii";

$ary = "jis";

$ary = "euc-jp";

echo mb_detect_encoding($str, $ary);

6.檢視檔案編碼方式:

$file = 'text3.txt';

echo getfileencoding(file_get_contents($file));  // 輸出utf-16le

7.判斷字串是否符合指定格式編碼:

格式:bool mb_check_encoding([string$var=null[,string$encoding= mb_internal_encoding()]] )

$string="\x00\x81";

$encoding="shift_jis";

mb_check_encoding($string,$encoding)   //:true

8.單個或多個變數的字元編碼轉換:

格式:stringmb_convert_variables(string$to_encoding,mixed$from_encoding,mixed&$vars[,mixed&$...] )

**$from_encoding:可以是數字形式,用逗號分隔字串或結構體形式。

$str1= '測試編碼';$str21= '測試編碼2';

$inputenc = mb_convert_variables("utf-8", "utf-8,gbk,gb2312", $str1, $str2);

var_dump($inputenc);    //: string(5) "utf-8"

var_dump($str1);      //: string(12) "測試編碼"

**cp936是gbk

php字元編碼轉換

iconv convert string to requested character encoding php 4 4.0.5,php 5 mb convert encoding convert character encoding php 4 4.0.6,php 5 用法 string mb c...

PHP 字符集編碼問題

幾乎每個剛開始用 php 和 mysql 開發 web 應用的人,都受到過編碼問題的困擾。要麼頁面原始漢字和從資料庫裡取出的漢字全是亂碼 要麼原始漢字和資料庫漢字,乙個顯示正常了,另乙個就變成亂碼了。很煩很氣人!問題需要一步一步的解決。在實際操作以下方法之前,需要配置 web 伺服器,使其與 php...

php字串編碼轉換

使用舉例 1 把 gbk 編碼字串轉換成 utf 8 編碼字串 view plaincopy toclipboardprint?header content type text html charset utf 8 echomb convert encoding 你是我的好朋友 utf 8 gbk ...