第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

imap_mail_move()無法使用特殊字符(äüö…)

imap_mail_move()無法使用特殊字符(äüö…)

PHP
Qyouu 2021-05-10 13:22:56
我正在使用imap_mail_move()將電子郵件從一個(gè)文件夾移動(dòng)到另一個(gè)文件夾。這種方法效果很好,但是如果文件夾名稱中包含特殊字符,則效果不佳。我確定我需要對(duì)名稱進(jìn)行編碼,但是所有測試都無法成功進(jìn)行。有人有個(gè)好主意嗎?提前致謝。class EmailReader {    [...]    function doMoveEmail($uid, $targetFolder) {        $targetFolder = imap_utf8_to_mutf7($targetFolder);        $return = imap_mail_move($this->conn, $uid, $targetFolder, CP_UID);        if (!$return) {            $this->printValue(imap_errors());           die("stop");        }        return $return;    }    [...]}在腳本中調(diào)用函數(shù)[...]$uid = 1234;$folderTarget1 = "INBOX.00_Korrespondenz";$this->doMoveEmail($uid, $folderTarget1);$folderTarget2 = "INBOX.01_Anmeldevorgang.011_Best?tigungslink";$this->doMoveEmail($uid, $folderTarget2);[...]第一個(gè)調(diào)用(folderTarget1)的執(zhí)行效果很好。secound調(diào)用(folderTarget2)的執(zhí)行產(chǎn)生了一個(gè)錯(cuò)誤:[TRYCREATE] Mailbox doesn't exist: INBOX.01_Anmeldevorgang.011_Best?tigungslink (0.001 + 0.000 secs).備注1:如果我調(diào)用imap_list(),該文件夾的名稱將顯示為"INBOX.01_Anmeldevorgang.011_Besta&Awg-tigungslink" (=$val)using: $new = mb_convert_encoding($val,'UTF-8','UTF7-IMAP')echo $new; // gives --> "INBOX.01_Anmeldevorgang.011_Best?tigungslink"but:$new2 = mb_convert_encoding($new,'UTF7-IMAP', 'UTF-8')echo $new2; // gives --> "INBOX.01_Anmeldevorgang.011_Best&AOQ-tigungslink"備注2我使用以下腳本檢查了每種可能的編碼,但沒有一個(gè)與imap_list()返回的值匹配。// looking for "INBOX.01_Anmeldevorgang.011_Besta&Awg-tigungslink" given by imap_list().$targetFolder = "INBOX.01_Anmeldevorgang.011_Best?tigungslink";foreach(mb_list_encodings() as $chr){  echo mb_convert_encoding($targetFolder, $chr, 'UTF-8')." : ".$chr."<br>";}
查看完整描述

2 回答

?
侃侃爾雅

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊

我創(chuàng)建了一個(gè)變通辦法,它可以幫助我使用UTF8值并將其轉(zhuǎn)換為原始(原始)IMAP文件夾名稱。


    function getFolderList() {

        $folders = imap_list($this->conn, "{".$this->server."}", "*");

        if (is_array($folders)) {


            // Remove Server details of each element of array

            $folders = array_map(function($val) { return str_replace("{".$this->server."}","",$val); }, $folders);


            // Sort array

            asort($folders);


            // Renumber the list

            $folders = array_values($folders);


            // add UTF-8 encoded value to array

            // this is needed as the original value is so wiered, that it is not possible to encode it

            // with a function on the fly. This additional utf-8 value is needed to map the utf-8 value

            // to the original value. The original value is still needed to do some operations like e.g.:

            //  - imap_mail_move()

            //  - imap_reopen()

            // ==> the trick is to use normalizer_normalize()

            $return = array();

            foreach ($folders as $key => $folder) {

                $return[$key]['original'] = $folder;

                $return[$key]['utf8']     = normalizer_normalize(mb_convert_encoding($folder,'UTF-8','UTF7-IMAP'));

            }



            return $return;

        } else {

            die("IMAP_Folder-List failed: " . imap_last_error() . "\n");

        }

    }


查看完整回答
反對(duì) 回復(fù) 2021-05-21
  • 2 回答
  • 0 關(guān)注
  • 203 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)