官方版本的 OpenCart 系統,在後台圖檔管理介面,會有中文檔名變成亂碼的問題。
原因是系統為了圖片檔名顯示的控制,不讓過長的檔名破壞版面,所以在檔名的每14個字元後方插入一個空白字元,以便讓瀏覽器能在圖檔檔名的空白字元處進行換列顯示,避免檔名過長超出範圍並與隔壁的檔名重疊。
但由於程式在處理字串切割時,採用了 str_split() 函數,於是當遇到切割的字元剛好是中文字時,因為 str_split() 函數無法辨識 utf-8 字元,所以就會形成亂碼。
要修正此問題,只要將系統原本這段檔名的額外處理程式,改由從 twig 檔修正,將檔名的 <label> 用 word-wrap 屬性設定為 break-word,就可以解決檔名過長跑版的問題。
修正後台圖檔管理中文檔名顯示異常之問題
修正後台圖檔管理中文檔名顯示異常之問題
24H.cc 電商便利中心 https://24h.cc
24CC.com 電商工程筆記 https://24cc.com
OpenCart 購物網站代管及維護 https://www.osec.tw
OpenCart 台灣電商社群 https://www.facebook.com/groups/opencart.taiwan/
24CC.com 電商工程筆記 https://24cc.com
OpenCart 購物網站代管及維護 https://www.osec.tw
OpenCart 台灣電商社群 https://www.facebook.com/groups/opencart.taiwan/