这行代码:
$date = strftime("%B", strtotime(Date("F"))) . " " . Date("y");
应该返回:"March 18"
,根据以下语言环境配置
cat /etc/locale.conf
LANG="en_US.UTF-8"
我在php文件中的内容是:setlocale(LC_TIME, 'pt_PT');
,以便返回:"Março 18"
。以前,这工作得很好,但今天发生的事情是价值$date
正在返回b"Março 18"
。
我的'逐战试验'产生了这5个最终结果:
$str = "Hi";
$dateOne = strftime("%B", strtotime(Date("F")));
$dateTwo = Date("y");
$strAndDateOne = $str.$dateOn;
$strAndDateTwo = $str.$dateTwo;
输出:
dd($str,$dateOne,$dateTwo,$strAndDateOne,$strAndDateTwo);
"Hi"
b"Março"
"18"
b"HiMarço"
"Hi18"
我不知道那是什么,我的功能停止了。 (老实说,我不记得以前是否有b,但我肯定不是这样)。
之前到现在有什么不同: 我创建了一个不再使用的交换文件(在昨天和今天之间),这是我在机器上唯一做过的事情。
答案 0 :(得分:1)
我知道这个话题很老,但为了解决这个问题,你需要把你的" strftime" " utf8_encode"内的方法方法:
utf8_encode(strftime("%B", strtotime(Date("F"))));
答案 1 :(得分:0)
试试这个:setlocale(LC_TIME,' pt_PT.UTF-8');
您需要指定" UTF-8"