uploadify 外掛程式 使用thinkphp ajaxreturn 返回 unicode編碼?

來源:互聯網
上載者:User
    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

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.