搜索
uploadify 插件 使用thinkphp ajaxreturn 返回 unicode编码?
迷茫
迷茫 2017-04-10 16:31:53
[PHP讨论组]
    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编码吗?是因为什么呢?
不能直接显示汉字吗?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
PHP中文网

thinkphp的ajaxreturn 是直接将汉字json_encode 然后返回输出

你可以先将汉字urlencode再json_encode最后再urldecode就可以了

或者你直接将信息echo出来 不json_encode,汉字就不会被编码成unicode

PHPz

并不一定要用$this->ajaxReturn 可以直接用 json_encode,加上第二个参数就好SON_UNESCAPED_UNICODE(这个参数你使用的版本应该支持)
还有个建议 成功与失败返回的数据格式一致 都是json
别外 怎么会写到foreach里面去$this->ajaxReturn

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号