⑴ php中如何把一個字元串轉換為utf-8編碼的 如題 謝謝了
1、把 GBK 編碼字串轉換成 UTF-8 編碼字串 view plain to clipboardprint? <?php header("content-Type: text/html; charset=Utf-8"); echo mb_convert_encoding("你是我的好朋友","UTF-8","GBK"); ?> 2、把 UTF-8 編碼字串轉換成 GB2312 編碼字串 view plain 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 plain 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怎麼把經過UTF-8編碼的中文字元轉換成正常的中文
首先,UTF-8編碼的中文字元也是正常的。
如果你認為 gb2312 才「正常」, 可以這樣:
$utf8_str = '中文'; // 注意這兒得是 UTF-8 編碼的字元串
$gb2312_str = mb_convert_encoding($str, 'GB2312', 'UTF-8');
%E5%90%89%E6%9E%97
有人已經回答了,
用 urldecode 就行了。
⑶ php中怎麼將GB18030轉換為UTF-8編碼
可以使用iconv函數對編碼進行轉換,iconv("gb18030", "utf-8", "要轉換的字元串");
iconv詳細用法如下:
iconv — 字元串按要求的字元編碼來轉換
stringiconv(string$in_charset,string$out_charset,string$str)
將字元串 str 從 in_charset 轉換編碼到 out_charset。
參數:
in_charset:輸入的字元集。
out_charset:輸出的字元集。
如果在 out_charset 後添加了字元串 //TRANSLIT,將啟用轉寫(transliteration)功能。
這個意思是,當一個字元不能被目標字元集所表示時,它可以通過一個或多個形似的字元來近似表達。
如果添加了字元串 //IGNORE,不能以目標字元集表達的字元將被默默丟棄。
否則,str 從第一個無效字元開始截斷並導致一個 E_NOTICE。
str:要轉換的字元串。
返回值:
返回轉換後的字元串, 或者在失敗時返回 FALSE。
⑷ PHP如何把數組里的中文Unicode轉換成Utf-8編碼
最簡單的:
$str = iconv("gbk", "utf-8//ignore", $str);
或者:
$str = mb_convert_encoding($str, "utf-8", "gbk");
稍微解釋一下 //ignore 的意思是轉換不了的字元就忽略。建議把這個寫上。否則遇到轉換不了的字元會報錯。gbk替換成你需要轉換的編碼就可以了。