部署我的 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?l
-
在 config/database.php 中,charset 设置为 utf8mb4,并且 collaction 设置为 utf8mb4_unicode_ci
你有什么想法解决我的问题吗?
2 回答
只需在服务提供者 AppServiceProvider 中执行此操作并将其置于引导方法中
一般坚持 UTF-8 让生活变得简单。
从其他任何地方复制和粘贴代码都非常小心 - 在复制和粘贴到代码之前,基本上总是通过记事本并使用其转换为 UTF-8(无 BOM)。
然后确保所有视图(包括错误页面)都有
如果您正在使用 HTML4,请执行以下操作
希望对你有帮助
我找到了解决方案:
我用
但这不方便......
我试过了 :
在 AppServiceProvider 中但它没有解决问题。
所以这是一个临时解决方案......