如何在 php(Laravel) linux 上使用重音符号

How can accents be used on php(Laravel) linux

php(laravel) 中的一个项目有问题,当我从数据库 (mysql) 中获取信息时,它包含重音符号,即 é、á 。 Php 最终显示一个奇怪的问号,或者崩溃 'charset' => 'utf8mb4' 设置在 database.php CHARACTER SET=utf8mb4 在 mysql 数据库

上的每个 table 上设置

原来的项目有 'charset' => 'latin1' 并显示问题,更改为 utf8mb4 解决了 OSX(测试本地主机)上的问题,但上传到服务器时问题没有解决(linux )

数据甚至在试图显示之前就变坏了: $示例= DB::connection('mysql_db')->select("SELECT * 来自测试) Log::error($例子); 日志显示查询让我得到了问号字符

在以下位置发现了类似的问题: scandir issue with accents in Linux work fine in OSX 但我不确定答案是否仅适用于扫描目录,或任何 php-linux 口音问题

我遇到了同样的问题,我设法通过在 config/database.php

中添加这些行来修复它
'mysql' => [
    [...]
    'charset'   => 'latin1',
    'collation' => 'latin1_swedish_ci',
    [...]
],

终于成功了,不得不设置

'mysql' => [
    [...]
    'charset'   => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    [...]
],

在config/database。php 并设置 CHARACTER SET=utf8mb4;在我的 sql 文件中每个 Table 的末尾(可以将其设置为整个数据库,但另一个文档需要数据库为默认的 latin1)。 OSX 用您在连接上设置的字符集覆盖数据库的字符集,但显然 linux 不允许这样做。 相同的解决方案不适用于 utf8