首頁  >  文章  >  後端開發  >  php 編碼轉換分析

php 編碼轉換分析

怪我咯
怪我咯原創
2017-07-11 16:55:331509瀏覽

php輸出的字串編碼和header頭訊息宣告的編碼不一致時輸出亂碼。

PHP程式開發中,編碼問題一定困擾了不少人,例如:當我們需要輸出GBK編碼的字串時,但不知道傳過來的字串是GBK編碼還是UTF8編碼,因此無法轉換編碼,這時我們需要一個能統一編碼的函數

使用PHP連接MS SQL Server資料庫,查看了一下資料庫的編碼

SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')

傳回為936,即GBK編碼。

936 簡體中文GBK
950 繁體中文BIG5
437 美國/加拿大英文
932 日文
949 韓文
#866 俄文
65001 unicode UFT-8

如果欄位有中文,PHP檔案設定編碼為GBK2312,則取資料庫資訊時沒有問題:

print_r($rs[ "客戶編碼"]);

如果PHP檔案設定編碼為utf-8,則會報告錯誤。

如果要將php檔案的編碼設定為utf-8,則需要轉換編碼:

print_r($rs[mb_convert_encoding("客戶編碼","GBK","UTF -8")]);//列印記錄陣列

這樣就沒有問題了。

以上是php 編碼轉換分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn