php字符集轉換函數,php字符串轉碼

本文目錄一覽:

如何將phpinfo字符串類型轉換

php中iconv、mb_convert_encoding函數字符編碼轉換詳解如下:

iconv函數庫能夠完成各種字符集間的轉換,是php編程中不可缺少的基礎函數庫。

用法如下:

$string = “親愛的朋友歡迎訪問博客,希望給您帶來一點點的幫助!”;

iconv(“utf8″,”gbk”,$string)//將字符串string  編碼由utf8轉變成gbk;

擴展如下:

echo [Math Processing Error]str=′好,歡迎訪問博客,該博客記錄一個程序員的成長過程!′;echo′br/′;echoiconv(′GB2312′,′UTF−8′,str); //將字符串的編碼從GB2312轉到UTF-8

echo ‘br /’;

echo iconv_substr([Math Processing Error]str,1,1,′UTF−8′);//按字符個數截取而非字節printr(iconvgetencoding());//得到當前頁面編碼信息echoiconvstrlen(str, ‘UTF-8’); //得到設定編碼的字符串長度

//也有這樣用的

[Math Processing Error]content=iconv(“UTF−8″,”gbk//TRANSLIT”,content);

備註:

1、iconv不是php的默認函數,也是默認安裝的模塊。需要安裝才能用的。

如果是windows2000+php,你可以修改php.ini文件,將extension=php_iconv.dll前的”;”去掉,同時你要copy你的原php安裝文件下的iconv.dll到你的winnt/system32下(如果你的dll指向的是這個目錄,我本地的沒有操作這一步)

在linux環境下,用靜態安裝的方式,在configure時加多一項 –with-iconv就可以了,phpinfo看得到iconv的項。(Linux7.3+Apache4.06+php4.3.2);

到此php中的iconv 介紹完畢

2、用iconv函數把抓取來過的utf-8編碼的頁面轉成gb2312, 發現只有用iconv函數把抓取過來的數據一轉碼數據就會無緣無故的少一些。原因是這樣的:

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

注意:第二個參數,除了可以指定要轉化到的編碼以外,還可以增加兩個後綴://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 會自動將不能直接轉化的字符變成一個或多個近似的字符,//IGNORE 會忽略掉不能轉化的字符,而默認效果是從第一個非法字符截斷。 被截斷了,當然就會少了;

可以這樣修改iconv(“UTF-8″,”GB2312//IGNORE”,$string)  會忽略掉不能轉化的字符;

附加:

PHP中的mb_convert_encoding與iconv函數介紹

mb_convert_encoding這個函數是用來轉換編碼的,和iconv函數差不多。

英文一般不會存在編碼問題,只有中文數據才會有這個問題。比如用Zend Studio或Editplus寫程序時,用的是gbk編碼,如果數據需要入數據庫,而數據庫的編碼為utf8時,這時就要把數據進行編碼轉換,不然進到數據庫就會變成亂碼。

做一個GBK To UTF-8

 ?php

header(“content-Type: text/html; charset=Utf-8”); //設置字符的編碼是utp-8

echo mb_convert_encoding(“你系我的友仔”, “UTF-8”, “GBK”);

?

再做GB2312 To Big5

 ?php

header(“content-Type: text/html; charset=big5”);

echo mb_convert_encoding(“朋友”, “big5”, “GB2312”);

?

不過要使用上面的函數需要安裝但是需要先enable mbstring 擴展庫,道理還是一樣的,修改php.ini。

PHP中的另外一個函數iconv也是用來轉換字符串編碼的,與上函數功能相似。

下面還有一些詳細的例子:

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_convert_encoding ( string str, string to_encoding [, mixed from_encoding]

需要先enable mbstring 擴展庫,在 php.ini里將; extension=php_mbstring.dll 前面的 ;

去掉mb_convert_encoding 可以指定多種輸入編碼,它會根據內容自動識別,但是執行效率比iconv差太多;

那為何還要講解 這個 mb_convert_encoding()函數呢?答案如下:

發現iconv在轉換字符”—”到gb2312時會出錯,如果沒有ignore參數,所有該字符後面的字符串都無法被保存。不管怎麼樣,這個”—”都無法轉換成功,無法輸出。

另外mb_convert_encoding沒有這個bug.

一般情況下用 iconv,只有當遇到無法確定原編碼是何種編碼,或者iconv轉化後無法正常顯示時才用mb_convert_encoding 函數.

PHP像這種UTF8字符編碼\u8def\u6613\u65af \u82f1\u6587怎麼才可以轉換成對應的字符?

可以搜索下 unicode轉中文。

沒有現成函數,看着很麻煩的樣子。

最好傳遞的時候就直接傳中文

比如

$rt=’中文’

json_encode($rt,JSON_UNESCAPED_UNICODE),這裡加個JSON_UNESCAPED_UNICODE,他就還是中文

PHP中如何把一個字符串轉換為utf-8編碼的 ?如題 謝謝了

1、把 GBK 編碼字串轉換成 UTF-8 編碼字串 view plaincopy to clipboardprint? ?php header(“content-Type: text/html; charset=Utf-8”); echo mb_convert_encoding(“你是我的好朋友”,”UTF-8″,”GBK”); ? 2、把 UTF-8 編碼字串轉換成 GB2312 編碼字串 view plaincopy to clipboardprint? // 注意將此文件存盤成 utf-8 編碼格式文件再測試 ?php header(“content-Type:text/html;charset=gb2312”); echo mb_convert_encoding(“你是我的好朋友”,”gb2312″,”utf-8″); ? // 注意將此文件存盤成 utf-8 編碼格式文件再測試 ?php header(“content-Type: text/html; charset=gb2312”); echo mb_convert_encoding(“你是我的好朋友”,”gb312″,”utf-8″); ? 3、對整個頁面進行轉換 該方法適用所有編碼環境。這樣把前128個字符以外(顯示字符)的字符集都用 NCR(Numeric character reference,如“漢字”將轉換成“漢字”這種形式)來表示,這樣的編碼在任意編碼環境下頁面都能正常顯示。 在php文件的頭部加上下面三行代碼: view plaincopy to clipboardprint? mb_internal_encoding(”gb2312″); // 這裡的gb2312是你網站原來的編碼 mb_http_output(”HTML-ENTITIES”); ob_start(’mb_output_handler’); mb_internal_encoding(”gb2312″); // 這裡的gb2312是你網站原來的編碼 mb_http_output(”HTML-ENTITIES”); ob_start(’mb_output_handler’); 使用mb_convert_encoding 函數需啟用PHP 的mbstring (multi-byte string)擴展

php怎樣把utf8轉換為gbk

?php@header(“Content-type:text/html;charset=UTF-8”);echo $str= ‘你好,這裡是賣咖啡!’;echo ‘br /’;echo iconv(“UTF-8″,”gbk//TRANSLIT”,$str);; //將字符串的編碼從UTF-8轉到GB2312

echo ‘br /’;echo iconv_substr($str, 1, 1, ‘UTF-8’); //按字符個數截取而非字節print_r(iconv_get_encoding()); //得到當前頁面編碼信息echo iconv_strlen($str, ‘UTF-8’); //得到設定編碼的字符串長度?

gbk轉換為utf8的方法:

?php

@header(“Content-type:text/html;charset=GB2312”);echo $str= ‘你好,這裡是賣咖啡!’;echo ‘br /’;echo iconv(‘GB2312’, ‘UTF-8’, $str); //將字符串的編碼從GB2312轉到UTF-8echo ‘br /’;echo iconv_substr($str, 1, 1, ‘GB2312’); //按字符個數截取而非字節print_r(iconv_get_encoding()); //得到當前頁面編碼信息echo iconv_strlen($str, ‘GB2312’); //得到設定編碼的字符串長度?

原創文章,作者:HZJL,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/145773.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
HZJL的頭像HZJL
上一篇 2024-10-27 23:52
下一篇 2024-10-27 23:52

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • Python中將字符串轉化為浮點數

    本文將介紹在Python中將字符串轉化為浮點數的常用方法。在介紹方法之前,我們先來思考一下這個問題應該如何解決。 一、eval函數 在Python中,最簡單、最常用的將字符串轉化為…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • 單片機打印函數

    單片機打印是指通過串口或並口將一些數據打印到終端設備上。在單片機應用中,打印非常重要。正確的打印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的打印數據可以幫助我們快速…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29

發表回復

登錄後才能評論