溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何將字符串轉(zhuǎn)為utf8

發(fā)布時間:2021-05-11 09:51:31 來源:億速云 閱讀:134 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)php如何將字符串轉(zhuǎn)為utf8的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

php是什么語言

php,一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內(nèi)嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風格有類似于C語言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運用。

php將字符串轉(zhuǎn)為utf8的方法:首先創(chuàng)建一個PHP示例文件;然后直接通過“iconv('GB2312', 'UTF-8', $str);”將字符串的編碼從GB2312轉(zhuǎn)到UTF8即可。

本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

PHP通過iconv將字符串從GBK轉(zhuǎn)換為UTF8字符集

1. iconv()介紹
iconv函數(shù)可以將一種已知的字符集文件轉(zhuǎn)換成另一種已知的字符集文件。例如:從GB2312轉(zhuǎn)換為UTF-8。
iconv函數(shù)在php5中內(nèi)置,GB字符集默認打開。
2. iconv()錯誤
iconv在轉(zhuǎn)換字符”—”到gb2312時會出錯,解決方法是在需要轉(zhuǎn)成的編碼后加 “//IGNORE”,也就是iconv函數(shù)第二個參數(shù)后.如下:

代碼如下:

iconv("UTF-8", "GB2312//IGNORE", $data)

ignore的意思是忽略轉(zhuǎn)換時的錯誤,如果沒有ignore參數(shù),所有該字符后面的字符串都無法被保存。
3. iconv()例子
例1:

代碼如下:

<?php 
  echo $str= ‘你好,這里是賣咖啡!'; 
  echo '<br />'; 
  echo iconv('GB2312', 'UTF-8', $str); //將字符串的編碼從GB2312轉(zhuǎn)到UTF-8 
  echo '<br />'; 
  echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符個數(shù)截取而非字節(jié) 
  print_r(iconv_get_encoding()); //得到當前頁面編碼信息 
  echo iconv_strlen($str, 'UTF-8'); //得到設定編碼的字符串長度 
?>

例2:
如果你的PHP文件是UTF-8編碼的,那么下面的代碼就可以正確輸出:

代碼如下:

<?php 
  $str='我愛百度'; 
  $utf=''; 
  for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); 
  echo $utf; 
?>

如果你的PHP文件是GB的,那么下面的代碼可以工作:

代碼如下:

<?php 
  $str='我愛百度'; 
  $str=iconv("GBK", "UTF-8", $str); 
  $utf=''; 
  for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); 
  echo $utf; 
?>

以上情況下,程序輸出的內(nèi)容是:
%E6%88%91%E7%88%B1%E7%99%BE%E5%BA%A6

感謝各位的閱讀!關(guān)于“php如何將字符串轉(zhuǎn)為utf8”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI