Unicode Laravel 5.1 utf-8保存到数据库

Unicode Laravel 5.1 utf-8保存到数据库,unicode,utf-8,laravel-5.1,Unicode,Utf 8,Laravel 5.1,我正试图将一条记录保存到数据库中。 从输入中获取值并将其保存到数据库时,不会出现任何问题,如: $request->input('name')是一个值为“سلام”的输入 但当我尝试从控制器中给出值时,问题就出现了。 名称将把“?”保存到数据库中: $provider->name = 'سلام'; $provider->copyright_email = 'test@yahoo.com'; $provider->save(); 我已经在config/database.php

我正试图将一条记录保存到数据库中。 从输入中获取值并将其保存到数据库时,不会出现任何问题,如:

$request->input('name')是一个值为“سلام”的输入

但当我尝试从控制器中给出值时,问题就出现了。 名称将把“?”保存到数据库中:

$provider->name = 'سلام';
$provider->copyright_email = 'test@yahoo.com';
$provider->save();
我已经在config/database.php中添加了以下代码:

'charset' => 'utf8',
'collation' => 'utf8_persian_ci',
  • 将数据库文件配置为
    utf8\u unicode\u ci
  • 检查文件
    config/database.php

    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    
  • 确保您的Mysql数据库设置为
    utf8
    ,并且Mysql的
    utf8mb4
    更好

  • 确保您的文件字符设置为不带BOM的UTF-8


  • 我个人认为您在IDE中遇到了问题,请尝试使用Atom。

    将数据库文件配置为utf8mb4\u unicode\u ci

    检查config/database.php文件:

    'charset' => 'utf8',
    'collation' => 'utf8_persian_ci',
    
    “字符集”=>“utf8”,
    “collation”=>“utf8mb4\u unicode\u ci”

    我面临同样的问题,接受的答案对我没有帮助。 以下是我是如何以这种方式解决问题的:

    转到数据库中的表,检查“排序规则”,将其更改为:

    utf8mb4_unicode_ci  
    
    将其应用于表中的每个字段


    这可能对某人有帮助。:)

    也可以使用下面的代码设置utf8 ->字符集('utf8')

    im问题 使用

    不工作

    但用于移民

    $table->charset = 'utf8';
    $table->collation = 'utf8_persian_ci';
    

    您的IDE/文本编辑器是否配置为使用UTF-8?@JaviStolz感谢您的重播。对我使用的是phpstorm,正如您所看到的,下面的链接将编码配置为utf-8阅读此文件,您将此文件保存在哪里?在你的控制器里?包含“$provider->name=‘سلام’;”的文件,如果是,您的控制器文件是否为uni编码?你能试着用Atom编辑器创建新文件并试试吗?@非常感谢你的重播。是 啊只需使用notepad++打开文件并将其设置为utf-8编码,保存后就没有问题了。我不知道我是否必须为我在项目中使用的每个文件手动执行此操作,实际上我附加的图片和代码只是一个测试。
    $table->charset = 'utf8';
    $table->collation = 'utf8_persian_ci';