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