laravel — php setlocale, добавляющий ‘b’ перед любой переменной с датой

Эта строка кода:
$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 там раньше, но я уверен, что это не так).

Что отличалось от предыдущего до настоящего времени:
Я создал файл подкачки (между вчерашним и сегодняшним днем), который больше не используется, и это было единственное, что я сделал на машине.

-1

Решение

Я знаю, что эта тема старая, но для решения этой проблемы вам нужно поместить ваш метод «strftime» в метод «utf8_encode»:

utf8_encode(strftime("%B", strtotime(Date("F"))));
1

Другие решения

Попробуйте это: setlocale (LC_TIME, ‘pt_PT.UTF-8’);

Вам необходимо указать «UTF-8»

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector