版本:2.1
出问题的行:plugin\curd\library\Curd.php:315
此行使用exec执行迁移命令,如果是Windows下,可能产生2个问题:
1.如果未找到php这个命令的话,CMD会报错(GB2312),且$output这个数组会出现两个消息
2.调用TP的json()方法(\think\response\Json)实际调用json_encode(),这个函数只能处理UTF8,直接输出GB2312的数据会报Malformed UTF-8 characters, possibly incorrectly encoded
期望的修复:
// line: 316foreach ($output as $key => $value) {$output[$key] = iconv('gb2312', 'utf-8', $value);}if ($resCode) {$this->setError(implode('', $output));unlink($this->migrationParam['fileName']);return false;}