Heim >Backend-Entwicklung >PHP-Tutorial >uploadify 插件 使用thinkphp ajaxreturn 返回 unicode编码?
<code> 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); } } }</code>
我在使用upploadify插件上传文件,如果上传失败,就返回错误信息,
但是$this->ajaxReturn($upload->getError());返回的是unicode编码?
\u4e0a\u4f20\u6587\u4ef6\u540e\u7f00\u4e0d\u5141\u8bb8
请问为什么会返回unicode编码吗?是因为什么呢?
不能直接显示汉字吗?
<code> 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); } } }</code>
我在使用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