I'm getting this error:

SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: '\xBD Inch...' for column 'column-name' at row 1

我的数据库、表和列的格式为utf8mb4_unicode_ci,列名的类型为textNULL.

这是列名的值

[column-name] => Some text before 11 ▒ and other text after, and after.

However I wait that laravel adds quotes to column's values, because the values are separated by commas (,). It should be as follow:

[column-name] => 'Some text before 11 ▒ and other text after, and after.'

请参阅下面的架构

    Schema::create('mws_orders', function (Blueprint $table) {
        $table->string('custom-id');
        $table->string('name');
        $table->string('description')->nullable();
        $table->string('comment')->nullable();
        $table->integer('count')->nullable();
        $table->text('column-name')->nullable();
        $table->timestamps();

        $table->primary('custom-id');
    });

我一直在谷歌上寻找,但还没有任何解决方案.

Anyone has an idea how to solve this issue?

I'm using Laravel 5.5 and MariaDB 10.2.11.

推荐答案

我解决了这个问题,在insert之前,将生成这个错误的所有字符串列编码为uft-8.例如,生成错误的列是column-name,我将其编码为show bellow.我还发现其他专栏也有同样的错误,我也使用了这个解决方案.

$data [
//key=>values 
];

$myModel = new MyModel(); 

$data['column-name'] = DB::connection()->getPdo()->quote(utf8_encode($data['column-name']));

$myModel->insert($data); 

Laravel相关问答推荐

发送邮箱后,Laravel重定向偶尔会导致错误500

我应该如何使用遵循依赖反转原则的工厂方法设计模式

Laravel 联合和分页

在Laravel中URL中添加保护ID

如何从@foreach 循环中捕获所有数据并将其传递给 值? - Laravel

为什么 laravel 模型会重复一组数据以及如何(如果可能)只有一组数据?

从 Laravel Session 数组中删除项目

使用 Eloquent 的 Laravel 块方法

Laravel - 验证 - 如果字段为空则需要

向 Docker 上的 Artisan 推荐方式

如何使用中间件将标头添加到响应中?

扩展模型 == 扩展 Eloquent?

判断输入是否来自控制台

Laravel League/flysystem 使用 AWS S3 获取文件 URL

Select,where JSON 包含数组

如何在 laravel 用户删除中重置自动增量?

如何以 JSON 格式发送 Laravel 错误响应

在 laravel Passport 客户端应用程序中使用访问令牌获取用户数据

Laravel Route 模型与关系绑定

Laravel 更新后用户模型错误(用户类包含 3 个抽象方法)