看板 PHP 關於我們 聯絡資訊
目前安裝裝了一套開源的系統,使用apache + php7 發現在格式化日期輸出時年月日等等的中文會變成簡體字導致部份頁面出現亂碼 追蹤後發現使用setlocale設置cht會直接輸出為簡體,導致出現亂碼 然而在另外一台php5的機器中使用cht便會正常輸出繁體中文 測試如下 setlocale(LC_TIME,"cht"); $date = mktime(0, 0, 0, 1, 1, 2018); echo strftime("%B", $date); 在php5會顯示一月,php7則是亂碼 請問有人遇到類似情形嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.135.11.176 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1516852950.A.8D7.html
LPH66: 用 "zh_TW" 呢? 01/25 12:22
LPH66: 我其實有點好奇 "cht" 是怎麼來的... 01/25 12:31
LPH66: 三字母的語言代碼看起來像是 ISO 639-2, 不過那裡沒有 cht 01/25 12:31
LPH66: 那裡的中文是 chi 或 zho, 而且是指整個中文 01/25 12:31
LPH66: 現在要指繁體中文一般是後綴地區代碼做區分 (像上面的 _TW) 01/25 12:35
我再測試後發現windows server 2012 + php5的機器中 使用cht可以正常顯示,zh-tw反而無法辨識 而windows 10 + php7的機器則相反 至於cht是該開源軟體中有使用多語系 取得系統語言後若作業系統為windows則將語系代碼做轉換 依據是利用以下資訊 https://www.microsoft.com/resources/msdn/goglobal/default.mspx 目前暫時的解決是將轉換的部份取消掉 想請問是否在新的系統下已經不需要這個轉換步驟了? ※ 編輯: kovenkoven (140.135.11.176), 01/25/2018 13:47:29
lusaka: 請問你是用哪套開源,這樣比較不會隔空抓藥 01/25 17:24
kovenkoven: MRBS 01/26 04:56