Я знаю, что об этом много, но это не работает, у меня установлен язык.
locale -a | grep es
es_ES
es_ES.ISO8859-1
es_ES.ISO8859-15
es_ES.UTF-8
Я установил UTF-8
\Carbon\Carbon::setUtf8(true);
setlocale(LC_ALL, 'es_ES.UTF-8');
$game_date = $date->formatLocalized('%A %d %B %Y %H %M %p');
У меня есть тег utf-8 в моем html
<meta charset = "utf-8">
но я все еще получаю неправильные символы.
"sábado" - "miércoles"






У меня была такая же проблема при попытке использовать локаль sk_SK.UTF-8. Что помогло мне решить проблему, так это удаление части кода \Carbon\Carbon::setUtf8(true);.
Но почему это так работает? Во-первых, документация Carbon относительно функции setUtf8 говорит следующее:
Some languages require utf8 encoding to be printed (locale packages that does not ends with .UTF8 mainly). In this case you can use the static method Carbon::setUtf8() to encode the result of the formatLocalized() call to the utf8 charset.
После изучения исходного кода для Carbon функция formatLocalized() вызывает функцию utf8_encode() из библиотеки PHP, если мы ранее установили для переменной utf8 значение true с уже упомянутым Carbon::setUtf8(true).
Источник углерода на GitHub
return static::$utf8 ? utf8_encode($formatted) : $formatted;
Поскольку ваш языковой стандарт уже настроен для использования стандарта UTF-8, дальнейшая кодировка php приводит к искажению форматированной строки.
Я подумал, что если вы хотите использовать Carbon для форматирования строк в utf8, вы должны сначала избавиться от кодировки UTF-8 при установке языкового стандарта с помощью setLocale(). Однако я бы просто удалил функцию Carbon и использовал правильный языковой стандарт.
TL; DR
Используйте правильный языковой стандарт с кодировкой UTF-8, например. es_ES.UTF-8 или используйте попробуйте использовать локаль без кодировки UTF-8 и положитесь на функции \Carbon\Carbon::setUtf8(true); и utf8_encode(). Предлагаю первый вариант. Надеюсь, это помогло :)
Я искал этот ответ. Вся информация, которую я нашел, была связана с базой данных, но я не использовал ее и знал, что это связано с библиотекой. СПАСИБО ВАМ БОЛЬШОЕ.