0
在PHP 5上運行,我曾嘗試以下兩個命令從ISO-8859-1字符串上傳到鏈接到UTF-8的網頁一個UTF-8數據庫:Unix上的Cron Job SSH服務器:UTF-8編碼?
$data[] = utf8_encode((string)$child);
...或:
$data[] = convertToUtf8((string)$child);
function convertToUtf8($text) {
// cURL('http://'.$url);
preg_match('/<meta.*?charset=(|\")(.*?)("|\")/i', $html, $matches);
$charset = $matches[2];
if($charset)
return mb_convert_encoding($text, 'UTF-8', $charset);
else
return $text;
}
如果我直接從瀏覽器訪問該文件執行PHP腳本,無論這些作品就像一個魅力之一:«E»進口是其漂亮的法國人的自我。但是,當我嘗試從Unix終端SSH(cron job OR命令行)執行相同的腳本時,它不會轉換代碼,因此«é»顯示爲«Ã»。
任何想法??我嘗試刪除cron作業並替換腳本以確保代碼正在通過。這變得越來越瘋狂!
更新 - 解
事實證明,這種特殊的功能需要PHP的版本。用下面的命令執行它在終端(在cron作業寫命令等)需要照顧的問題:
php5.4 xmluploader.php
答案在http://stackoverflow.com/questions/8138124/implications-of-lc-all-c-to-speedup-grep應該給你一些如何解決這個問題的想法。我會搜索'LC_ALL french',希望你能找到更接近的答案。祝你好運。 – shellter 2014-11-02 20:48:39