Ans: 這通常是會發生在 Ubuntu 或其他非 CentOS 的 Linux OS,檢查 OS 是否已安裝所選擇語言的 UTF-8 語言包。
以 Ubuntu 為例:
檢查系統所有語系的支援
locale -a
如果只有 cs_CZ,但沒有 cs_CZ.utf8,執行指令
sudo locale-gen cs_CZ.utf8
Ans: 這是因為 PHP Bug:
https://bugs.php.net/bug.php?id=42526
https://bugs.php.net/bug.php?id=18556
解決方法:加上 setlocale(LC_CTYPE, 'C')
編輯 /var/www/html/common/lib/languageSettings.php
putenv("LANGUAGE=$slectedLanguage"); setlocale(LC_ALL, $slectedLanguage); setlocale(LC_MESSAGES, $languageEncoding); // Fix for language Turkish issue if ($slectedLanguage == "tr_TR.UTF-8") { //setlocale(LC_CTYPE, 'C'); setlocale(LC_CTYPE, 'en_US' . '.utf8'); }