laravel command 执行自定义命令 choice 以后使用info 中文乱码
laravel command 执行自定义命令 choice 以后使用info 中文乱码
- 1. 代码
- 2. 执行以后乱码
- 3. 解决
1. 代码
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class ProcessDataCommand extends Command
{
// 命令的名称和签名
protected $signature = 'process:data';
// 命令的描述
protected $description = 'Processing data with a progress bar and a selection';
public function __construct()
{
parent::__construct();
}
public function handle()
{
// 提供选择的选项
$type = $this->choice(
'Which type of data would you like to process?',
['大', '中', '小'],
0 // 默认选项
);
// 根据选择的类型设置需要处理的总数据量
switch ($type) {
case 'Small Data Set':
$totalItems = 2;
break;
case 'Medium Data Set':
$totalItems = 2;
break;
case 'Large Data Set':
$totalItems = 2;
break;
default:
$totalItems = 2;
}
// 创建进度条
$bar = $this->output->createProgressBar($totalItems);
// 启动进度条
$bar->start();
for ($i = 0; $i < $totalItems; $i++) {
// 模拟处理任务
sleep(1);
// 进度条前进
$bar->advance();
}
// 完成进度条
$bar->finish();
$this->info("执行完成 $type!");
}
}
2. 执行以后乱码
3. 解决
配置php.ini,重启服务器
output_encoding =UTF-8
再次执行