Laravel PHP将数据插入数据库时​​出现无效字符串问题

时间:2019-06-02 23:31:56

标签: php mysql sql laravel eloquent

我正在尝试将数据从CSV文件插入数据库,并且一切正常,但是如果任何字符串带有任何德语特殊字符(如öüäß),则会显示以下错误:

b"SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: '\xE4.' for column 'name' at row 1 (SQL: insert into `ergebnisses` (`stadt`, `lauf_jahr`, ▶"

控制器:

public function index()
    {
        $collection = (new FastExcel)->configureCsv(';')->import('C:\Users\mussa\Desktop\file.csv', function ($line) {
            return Ergebnisse::create([
                'stadt' => 'hamburg',
                'lauf_jahr' => '2019',
                'lauf_strecke' => '4',
                'MWPl' => $line['MWPl'],
                'start_number' => $line['Startnr.'],
                'name' => $line['Name'],
                'birth_year' => $line['Jahrg.'],
                'm/w' => $line['m/w'],
                'AK' => $line['AK'],
                'verein' => $line['Verein'],
                'zeit' => $line['Zeit'],
            ]);
        });
        // dd($collection);
    }

收集数据:

Collection data

任何帮助将不胜感激,我是Laravel的新手。

最佳问候 Musayyab Naveed

2 个答案:

答案 0 :(得分:0)

更改列数据类型 string 而不是 DateTime

如果您不想更改列数据类型,请以正确的格式输入日期。

答案 1 :(得分:0)

在迁移名称列时使用数据类型“字符串”