gpt4 book ai didi

php - 使用 Tinker 和 Laravel 进行编码

转载 作者:行者123 更新时间:2023-11-29 18:20:16 26 4
gpt4 key购买 nike

我正在尝试使用tinker来操作我的项目的表,所以,我遇到的第一个问题是我创建了一个utf8编码的数据库,之后,我运行我的迁移,然后,表创建的文件使用 utf8mb4_unicode_ci。默认情况下不应该是utf8吗?如果是,我该如何更改?

第二个问题是,当我尝试使用 Tinker 在表格上插入本地语言(巴西葡萄牙语)的单词时,我收到由这些字符引起的错误。像这样:

Illuminate\Database\QueryException with message 'SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xA1tulo ...' for column 'title' at row 1 (SQL: insert into `posts` (`title`, `body`, `updated_at`, `created_at`) values (Título 1, Corpo do primeiro post, 2017-10-09 14:58:40, 2017-10-09 14:58:40))'

我是否必须让 Tinker 接受我的本地语言,或者我是否必须对项目进行任何后续更改?

我的帖子迁移代码:

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreatePostsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('posts', function (Blueprint $table) {
// $table->charset = 'utf8';
// $table->collation = 'utf8_general_ci';
$table->increments('id');
$table->string('title');
$table->mediumText('body');
$table->timestamps();
});
}

/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('posts');
}
}

在修补程序上我正在这样做:

$post = new App\post();
$post->title = 'Título 1';
$post->body = 'Corpo do primeiro post';
$post->save();

这是我第一次使用 Laravel,所以我有点迷失。

最佳答案

尝试将这些行添加到您的“config/database.php”文件中,然后重试。

'charset'   => 'utf8',
'collation' => 'utf8_unicode_ci'

关于php - 使用 Tinker 和 Laravel 进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46649743/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com