uploadify 插件 使用thinkphp ajaxreturn 返回 unicode编码?
public function fileup(){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 1024*1024*2 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg', 'zip', 'xls', 'rar');// 设置附件上传类型
$upload->rootPath = './Public/Uploads/'; // 设置附件上传根目录
$upload->savePath = ''; // 设置附件上传(子)目录
// 上传文件
$info = $upload->upload();
if(!$info) {// 上传错误提示错误信息
$this->ajaxReturn($upload->getError());
}else{// 上传成功
foreach ($info as $file) {
$data['filename'] = $file['name'];
$data['filepath'] = 'uploads/'.$file['savepath'].$file['savename'];
$data['filesize'] = $file['size'];
$this->ajaxReturn($data);
}
}
}
我在使用upploadify插件上传文件,如果上传失败,就返回错误信息,
但是$this->ajaxReturn($upload->getError());返回的是unicode编码?
\u4e0a\u4f20\u6587\u4ef6\u540e\u7f00\u4e0d\u5141\u8bb8
请问为什么会返回unicode编码吗?是因为什么呢?
不能直接显示汉字吗?
回复内容:
public function fileup(){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 1024*1024*2 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg', 'zip', 'xls', 'rar');// 设置附件上传类型
$upload->rootPath = './Public/Uploads/'; // 设置附件上传根目录
$upload->savePath = ''; // 设置附件上传(子)目录
// 上传文件
$info = $upload->upload();
if(!$info) {// 上传错误提示错误信息
$this->ajaxReturn($upload->getError());
}else{// 上传成功
foreach ($info as $file) {
$data['filename'] = $file['name'];
$data['filepath'] = 'uploads/'.$file['savepath'].$file['savename'];
$data['filesize'] = $file['size'];
$this->ajaxReturn($data);
}
}
}
我在使用upploadify插件上传文件,如果上传失败,就返回错误信息,
但是$this->ajaxReturn($upload->getError());返回的是unicode编码?
\u4e0a\u4f20\u6587\u4ef6\u540e\u7f00\u4e0d\u5141\u8bb8
请问为什么会返回unicode编码吗?是因为什么呢?
不能直接显示汉字吗?
thinkphp的ajaxreturn 是直接将汉字json_encode 然后返回输出
你可以先将汉字urlencode再json_encode最后再urldecode就可以了
或者你直接将信息echo出来 不json_encode,汉字就不会被编码成unicode
并不一定要用$this->ajaxReturn
可以直接用 json_encode
,加上第二个参数就好SON_UNESCAPED_UNICODE
(这个参数你使用的版本应该支持)
还有个建议 成功与失败返回的数据格式一致 都是json
别外 怎么会写到foreach
里面去$this->ajaxReturn
上一篇: 微信扫描二维码登录网站代码