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

时间:2017-05-03 13:12:38

标签: php linux laravel diacritics

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

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

在尝试显示之前数据变坏了: $ example = DB :: connection('mysql_db') - > select(“SELECT * FROM test”) 登录::错误(例如$); 日志显示查询为我提供问号字符

发现类似的问题: {{3}} 但我不确定答案是否只适用于扫描目录,或任何php-linux重音问题

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

最后使它工作,不得不设置

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

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