Проблема с кодировкой Utf8 в Laravel - PullRequest
0 голосов
/ 12 декабря 2018

У меня возникла проблема после развертывания моего веб-сайта laravel (он работает правильно на локальном компьютере).Некоторый текст закодирован неправильно, например: что должно быть Joël - это Joà «l

Некоторая информация:

  • Не все представления затронуты, некоторые переменные отображаются правильнов представлении и не работает в другом представлении (что заставляет меня думать, что это не проблема mysql)

  • Мой ответ json больше не работает (искаженные символы UTF-8, возможно, неправильно закодированы),что заставляет меня думать, что это должно быть проблема MySQL ...)

  • Я уже пытался поместить это в мой AppServiceProvider \Blade::setEchoFormat('e(utf8_encode(%s))');

  • Мои strftime также не работали, но их можно решить с помощью функции php utf8_encode, которая не работает с другими моими переменными.Например, если $ c-> name дает JoÃÃl, utf8_encode ($ c-> name) также дает Joà ll

  • В config / database.php для charset установлено значение utf8mb4и свернутость установлена ​​в utf8mb4_unicode_ci

Не могли бы вы решить мою проблему?

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Я нашел решение:

Я использую

{!! htmlentities($variable, ENT_QUOTES, "UTF-8") !!}

Но это не удобно ...

Я пытался:

Blade::setEchoFormat('e(htmlentities(%s,ENT_QUOTES,'UTF-8'))');

в AppServiceProvider, но это не решает проблему.

Так что это временное решение ...

0 голосов
/ 12 декабря 2018

Просто сделайте это в AppServiceProvider поставщика услуг и включите метод загрузки

Blade::setEchoFormat('e(utf8_encode(%s))');

Как правило, придерживаясь UTF-8, вы упростите жизнь.

Будьте очень осторожны при копировании и вставке из любого местав ваш код - в основном всегда проходите через Notepad ++ и используйте его конвертирование в UTF-8 (без BOM) перед копированием и вставкой в ​​ваш код.

Затем убедитесь, что у всех ваших представлений (включая страницы с ошибками) есть

<meta charset="UTF-8">

Или следующее, если вы делаете HTML4

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

Надеюсь, это поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...