使用方法Command::choice()
时,我得到一个奇怪的响应,其中包含随机字符和问号(我相信它们是ansi escape codes)。仅在Windows上会发生这种情况(据我测试)。
我在两次Win 10 Pro安装中遇到了这个问题。已将US-En安装为默认语言。
我在Ubuntu和macOS上运行了相同的脚本,并且运行完全没有问题。它会提示用户两个选项,选择一个,然后执行下一步。
要测试是否仅在CMD上,我也在Hyper和PowerShell上运行了命令,得到了相似的结果。
CMD
PowerShell
超级
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class TestChoice extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'test:choices';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$color = $this->choice('Which color do you prefer?', ['blue', 'red']);
$this->info("Your favorite color is $color");
}
}
有人遇到这个问题吗?或者我可以采取哪些步骤解决此问题?