Преобразование в UTF8 в проекте Laravel не работает

Я запускаю эту строку кода.

$string = convert_case('MONTAÑA 221');

public function convert_case($string)
{
$string = mb_convert_case($string, MB_CASE_TITLE, "UTF-8");

return $string;
}

Когда я запускаю его в laravel, я получаю пустую строку, но когда я запускаю ее в браузере, используя простой файл test.php поверх wamp, я получаю правильную строку.

0

Решение

Я уже сталкивался с подобными проблемами, и, возможно, у вас они другие, но вам может пригодиться настройка кодировки HTML-страницы.

В шапке:

<meta charset="utf-8" />
1

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

Чтобы ответить на ваш вопрос на основе кода, который вы разместили:

                             $string = 'MONTAÑA 221';
|
v
public function convert_case($string)
{
$string = html_entity_decode($input,ENT_COMPAT,"UTF-8");

$oldLocale = setlocale(LC_CTYPE, '0');

setlocale(LC_CTYPE, 'en_US.UTF-8');
$string = iconv("UTF-8","ASCII//TRANSLIT",$string);

setlocale(LC_CTYPE, $oldLocale);

return strtolower(preg_replace('/[^a-zA-Z0-9]+/','',$string));
}

Выход:

montana221

Код в пространстве, где вы чувствуете, что они нужны. Этот код специфичен для работы на сервере.
Используя HTML:

<meta charset="utf-8">

Может быть причина того, что он правильно выходит на интерфейс.

1

По вопросам рекламы [email protected]