首頁  >  文章  >  後端開發  >  php gd庫中文亂碼怎麼解決?

php gd庫中文亂碼怎麼解決?

青灯夜游
青灯夜游原創
2020-07-21 12:05:374151瀏覽

解決方法:1.網站整站使用UTF8編碼,如果已使用GB2312或GBK編碼,需進行字元編碼轉換;2、將Apache設定檔中的預設字元集修改為UTF8;3、gd庫中取消“enable-gd-jis-conv”選項,並重新編譯。

php gd庫中文亂碼怎麼解決?

php gd函式庫產生中文亂碼的原因

1、伺服器編碼原因。用GD函式庫輸出中文字串時,要使用imagettftext()函數。由於imagettftext函數字串參數的預設編碼是UTF8,如果伺服器編碼不一致,而又沒有進行對應的字元編碼格式轉換,很容易出現使用gd函式庫輸出圖片時中文字元變成亂碼。

【相關教學推薦:《PHP教學》】

2、沒有選擇正確的TTF字體檔案。使用gd庫時如果要輸出中文字符,則需要選擇正確的TTF字體檔案。

php gd庫中文亂碼解決方法

根據先前介紹的php gd函式庫產生中文亂碼的原理,解決php gd庫中文亂碼的方法其實很簡單。

1、建議整站使用UTF8編碼,如果你已使用的是GB2312或GBK編碼,請使用iconv或自訂的gb2312與utf8轉換函數進行字元編碼轉換。

2、如果你是剛進行php環境搭建,建議將Apache設定檔中的預設字元集修改為UTF8,即AddDefaultCharset UTF8。

3、如果上述方法還不行,請檢查你在編譯gd庫時是否添加了–enable-gd-jis-conv選項,此選項是為了讓gd庫支持日文編碼的字庫,請取消此選項並重新編譯。此方法我沒驗證過,估計主要是針對Unix下安裝設定php環境。 Windows環境一般不會出現這種情況,似乎預設 PHP設定檔是註解掉的。

4、使用php gd函式庫產生中文亂碼的另一個原因是沒有選擇正確的TTF字體,你需要選擇支援中文的字體,常用的中文文字檔案是simsun.ttc和simhei.ttf。

OK,只要依照上述方法,基本上使用php gd函式庫產生中文亂碼時都能夠解決。只要仔細查詢其實gd庫的中文亂碼解決起來非常方便。

以上是php gd庫中文亂碼怎麼解決?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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