PHP編碼轉(zhuǎn)換函數(shù)mb_convert_encoding與iconv用法_PHP教程
推薦:SAE的storage服務(wù)使用方法今天終于弄懂了sae的storage怎么使用。 因?yàn)閟ae不支持文件權(quán)限設(shè)置,所有的代碼文件都是不可數(shù)的。但是sae提供了特別好的一個(gè)分布式文件存儲服務(wù),用來存放持久文件。其實(shí)就是用來存放網(wǎng)站的素材文件,如圖片,文件等等的。 所以,當(dāng)需要存儲文件數(shù)據(jù)的時(shí)候,可以使用
將一個(gè)短信接口代碼從apache遷移到nginx+php-fpm后,發(fā)現(xiàn)無法發(fā)出短信了,查看php日志,
[25-Sep-2014 20:15:21] WARNING: [pool www] child 9617 said into stderr: “NOTICE: PHP message: PHP Fatal error: Call to undefined function mb_convert_encoding() in /data/htdocs/xx.php on line 13″
發(fā)現(xiàn)函數(shù)mb_convert_encoding沒定義,看著像某個(gè)模塊沒裝,google了把,要裝個(gè)mbstring擴(kuò)展,之前都是一下裝好多擴(kuò)展(雖然不知道這個(gè)擴(kuò)展是干啥的,按照網(wǎng)絡(luò)文檔來),現(xiàn)在是要應(yīng)用需要哪個(gè)裝哪個(gè),逼格略有提高(至少這樣能讓我知道哪個(gè)模塊是干啥的)。
mb-convert-encoding
string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] )
將 string 類型 str 的字符編碼從可選的 from_encoding 轉(zhuǎn)換到 to_encoding。
官網(wǎng)文檔 http://php.net/manual/zh/function.mb-convert-encoding.php 需要安裝mbstring擴(kuò)展庫,如果已經(jīng)編譯好的php可以這樣熱編譯下
iconv函數(shù)庫能夠完成各種字符集間的轉(zhuǎn)換
注意:第二個(gè)參數(shù),除了可以指定要轉(zhuǎn)化到的編碼以外,還可以增加兩個(gè)后綴://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 會自動將不能直接轉(zhuǎn)化的字符變成一個(gè)或多個(gè)近似的字符,//IGNORE 會忽略掉不能轉(zhuǎn)化的字符,而默認(rèn)效果是從第一個(gè)非法字符截?cái)唷?/p>
Returns the converted string or FALSE on failu
官網(wǎng)地址 http://php.net/manual/zh/book.iconv.php
已經(jīng)安裝好php的,同樣也可以使用上面的方法安裝iconv模塊
mb_convert_encoding例子
mb_convert_encoding這個(gè)函數(shù)是用來轉(zhuǎn)換編碼的。英文一般不會存在編碼問題,只有中文數(shù)據(jù)才會有這個(gè)問題。比如你用Zend Studio或Editplus寫程序時(shí),用的是gbk編碼,如果數(shù)據(jù)需要入數(shù)據(jù)庫,而數(shù)據(jù)庫的編碼為utf8時(shí),這時(shí)就要把數(shù)據(jù)進(jìn)行編碼轉(zhuǎn)換,不然進(jìn)到數(shù)據(jù)庫就會變成亂碼
做一個(gè)GBK To UTF-8
再來個(gè)GB2312 To Big5
mb_strtolower() – 使字符串小寫
mb_strtoupper() – 使字符串大寫
strtolower() – 將字符串轉(zhuǎn)化為小寫
strtoupper() – 將字符串轉(zhuǎn)化為大寫
ucfirst() – 將字符串的首字母轉(zhuǎn)換為大寫
ucwords() – 將字符串中每個(gè)單詞的首字母轉(zhuǎn)換為大寫
iconv例子
把gb2312置換成utf-8:
在用$text=iconv(“UTF-8″,”GB2312″,$text)過程中,如果遇到一些特別字符時(shí),如:”—”,英文名中的”.”等等字符,轉(zhuǎn)換就斷掉了。這些字符后的文字都沒法繼續(xù)轉(zhuǎn)換了。
針對這的問題,可以用如下代碼實(shí)現(xiàn):
你沒有看錯(cuò),就這么簡單,不使用gb2312,而寫成GBK,就可以了。
還有一種方法,第二個(gè)參數(shù),加上//IGNORE,忽略錯(cuò)誤,如下:
一般情況下用 iconv,只有當(dāng)遇到無法確定原編碼是何種編碼,或者iconv轉(zhuǎn)化后無法正常顯示時(shí)才用mb_convert_encoding 函數(shù)。
分享:php輸出控制的學(xué)習(xí)筆記1、簡介 當(dāng)PHP腳本有輸出時(shí),輸出控制函數(shù)可以用這些來控制輸出。這在多種不同情況中非常有用,尤其是用來在腳本開始輸出 數(shù)據(jù)后,發(fā)送http頭信息到瀏覽器。輸出控制函數(shù)不影響由 header()或setcookie()發(fā)送的文件頭信息,僅影響像echo這樣的函數(shù)和PHP代碼塊間的數(shù)據(jù)。
- SAE的storage服務(wù)使用方法
- php輸出控制的學(xué)習(xí)筆記
- Python簡單技巧和常用參考
- 使用Poco C++庫創(chuàng)建websocket安全訪問(wss)客戶端
- php刪除指定目錄下的相關(guān)文件實(shí)例
- PHP流程控制的替代語法示例
- PHP的三種類型的運(yùn)算符
- php實(shí)現(xiàn)mysql數(shù)據(jù)庫隨機(jī)重排例子
- PHP如何判斷一個(gè)gif圖片是否為動態(tài)圖片
- php 一句話刪除目錄下所有文件
- php curl實(shí)現(xiàn)http與https請求實(shí)例
- php保存二進(jìn)制原始數(shù)據(jù)為圖片的程序代碼
- 相關(guān)鏈接:
復(fù)制本頁鏈接| 搜索PHP編碼轉(zhuǎn)換函數(shù)mb_convert_encoding與iconv用法
- 教程說明:
PHP教程-PHP編碼轉(zhuǎn)換函數(shù)mb_convert_encoding與iconv用法
。