此问题多数出现在windows开发环境下。
先说原因,电脑设置-环境变量-path 混入了中文路径。需要删除掉。
或者看第二种解决办法:
找到vendor/topthink/framework/src/think/exception/Handle.php
在最后加上下面这个方法
/**
* 将获取的服务器信息中的中文编码转为utf-8
* @access protected
* @param $data array
* @return array 转化后的数组
*/
protected function changeToUtf8(array $data): array
{
foreach ($data as $key => $value) {
$data[$key] = mb_convert_encoding($value, "UTF-8","GBK, GBK2312");
}
return $data;
}
然后:
收集异常数据方法 convertExceptionToArray() ,修改
'Server/Request Data' => $this->changeToUtf8($this->app->request->server()),