Эта строка кода:
$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, и моя функция перестала работать. (Я, честно говоря, не могу вспомнить, был ли b там раньше, но я уверен, что это не так).
Что отличалось от предыдущего до настоящего времени:
Я создал файл подкачки (между вчерашним и сегодняшним днем), который больше не используется, и это было единственное, что я сделал на машине.
Я знаю, что эта тема старая, но для решения этой проблемы вам нужно поместить ваш метод «strftime» в метод «utf8_encode»:
utf8_encode(strftime("%B", strtotime(Date("F"))));
Попробуйте это: setlocale (LC_TIME, ‘pt_PT.UTF-8’);
Вам необходимо указать «UTF-8»