我正在使用 laravel 4。
在迁移期间,我将行插入到我创建的表中。
例子:
Schema::create('month', function(Blueprint $table)
{
$table->integer('id');
$table->string('name');
});
DB::table('month')->insert(
array(
array(
'id' => 1,
'name' => 'Janeiro'
),
array(
'id' => 2,
'name' => 'Fevereiro'
),
array(
'id' => 3,
'name' => 'Março'
),
array(
'id' => 4,
'name' => 'Abril'
),
array(
'id' => 5,
'name' => 'Maio'
),
array(
'id' => 2,
'name' => 'Junho'
),
array(
'id' => 7,
'name' => 'Julho'
),
array(
'id' => 8,
'name' => 'Agosto'
),
array(
'id' => 9,
'name' => 'Setembro'
),
array(
'id' => 10,
'name' => 'Outubro'
),
array(
'id' => 11,
'name' => 'Novembro'
),
array(
'id' => 12,
'name' => 'Dezembro'
),
));
问题是第 3 个月,Março 被插入为“Mar”,而不是应有的“Março”。
我认为我的 Laravel 数据库配置是正确的:
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'alaviagens',
'username' => 'alaviagens',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
我认为表格是字符集也是正确的:
CREATE TABLE `month` (
`id` int(11) NOT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
如果我使用例如 Sequel Pro 更改数据库中的记录本身,我可以成功地将其更改为“Março”。
知道可能是什么原因造成的以及如何解决吗?