PHP編碼轉換函數應用技巧詳解
在PHP語言中mb_convert_encoding是一個PHP編碼轉換函數,可以幫助我們用來實現對多字節字符串編碼的轉換。下面將會為大家進行詳細介紹。
在PHP中有數量龐大的函數來支持我們的需求應用。可以在有需要的使用場合(如:解決在GB2312編碼環境下使用Ajax產生的中文字亂碼的問題)方便進行編碼轉換,以解決網頁亂碼的問題,使用非常方便,效率非常高,幾乎支持所有編碼。PHP 4 >= 4.0.6、PHP 5 版本支持。
PHP編碼轉換函數原型:
/**
* 多字節字符串編碼轉換函數
*
* @param string str 需要進行編碼轉換的字符串
* @param string to_encoding 指定轉換為某種編碼
,如:gb2312、gbk、utf-8等
* @param mixed from_encoding 混合指定原來字串的編碼
,如:同時指定 JIS, eucjp-win, sjis-win 混合編碼
* @return string
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
PHP編碼轉換函數使用舉例:
1、把 GBK 編碼字串轉換成 UTF-8 編碼字串
< ?PHP
header("content-Type: text/html;
charset=Utf-8");
echo mb_convert_encoding("
你是我的好朋友", "UTF-8", "GBK");
?>
2、把 UTF-8 編碼字串轉換成 GB2312 編碼字串
// 注意將此文件存盤成 utf-8
編碼格式文件再測試
< ?PHP
header("content-Type: text/html;
charset=gb2312");
echo mb_convert_encoding("
你是我的好朋友", "gb312", "utf-8");
?>
3、對整個頁面進行轉換
該方法適用所有編碼環境。這樣把前128個字符以外(顯示字符)的字符集都用 NCR(Numeric character reference,如“漢字”將轉換成“漢字”這種形式)來表示,這樣的編碼在任意編碼環境下頁面都能正常顯示。
在PHP文件的頭部加上下面三行代碼:
mb_internal_encoding("gb2312");
// 這裏的gb2312是你網站原來的編碼
mb_http_output("HTML-ENTITIES"); ob_start('mb_output_handler');
使用mb_convert_encoding 函數需啟用PHP 的`mbstring (multi-byte string)擴展。
如果沒有沒有開啟PHP的mbstring擴展,則需要做如下設置,讓PHP支持該擴展。
1、windows 服務器環境
編輯 文件,將; extension=PHP_ 前面的 ; 去掉,重啟網頁服務器。
2、Linux服務器環境
在編譯配置時加入 --enable-mbstring=cn 編譯參數,再進行PHP的編譯安裝。
結束語:如果大家在使用PHP編碼轉換函數的過程中,還有什麼無法明白的地方,可以繼續參考本站計算機頻道。
-
提高PHP執行效率的50個技巧
PHP是一種HTML內嵌式的語言,是一種在服務器端執行的嵌入HTML文檔的腳本語言,下面是小編為大家整理的提高PHP執行效率的50個技巧,歡迎參考~1、用單引號代替雙引號來包含字符串,這樣做會更快一些。因為PHP會在雙引號包圍的字符串中搜尋變量,單引號則不會,注意:只有echo...
-
ThinkPHP中自動驗證
學無止境,剛開始學習PHP會覺得簡單,但是越學會越難。下面是小編整理的關於ThinkPHP中自動驗證的知識,希望對大家有用,更多消息請關注應屆畢業生網。ThinkPHP中自動驗證:array(‘字段’,‘驗證規則’,‘錯誤提示’[,‘驗證條件&rsqu...
-
php計算兩個文件相對路徑的方法
文章主要介紹了php計算兩個文件相對路徑的方法,涉及php操作字符串的`技巧,具有一定參考借鑑價值,需要的朋友可以參考下.一、問題:寫一個php函數算出兩個文件的相對路徑。例如$a="/a/b/c/d/";$b="/a/b/12/34/",B相對於A的相對路徑是什麼?二、解決方法:?123456789101...
-
PHP 7.1中都有哪些重大更新
PHP7.1.0帶來了大量的改進和新功能:可空類型返回空類型可迭代的psuedo-type支持常量可見的類數組解構square框架和在list()中允許指定keys多異常類型捕獲,以下是小編為大家搜索整理的PHP7.1中都有哪些重大更新,希望能給大家帶來幫助!更多精彩內容請及時關注我們應...