版本: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: 316
foreach ($output as $key => $value) {
$output[$key] = iconv('gb2312', 'utf-8', $value);
}
if ($resCode) {
$this->setError(implode('', $output));
unlink($this->migrationParam['fileName']);
return false;
}