正在显示
8 个修改的文件
包含
24 行增加
和
16 行删除
| @@ -523,11 +523,23 @@ function get_email_uuid($subject,$udate,$form,$to,$size){ | @@ -523,11 +523,23 @@ function get_email_uuid($subject,$udate,$form,$to,$size){ | ||
| 523 | * @time 2024/8/29 10:51 | 523 | * @time 2024/8/29 10:51 |
| 524 | */ | 524 | */ |
| 525 | function mb_iconv($str, $to, $from = null) { | 525 | function mb_iconv($str, $to, $from = null) { |
| 526 | + if($str){ | ||
| 526 | try { | 527 | try { |
| 527 | - return mb_convert_encoding($str, $to, $from); | 528 | + $s = mb_convert_encoding($str, $to, $from); |
| 529 | + if($s){ | ||
| 530 | + return $s; | ||
| 531 | + } | ||
| 528 | }catch (Throwable $e){ | 532 | }catch (Throwable $e){ |
| 529 | - return $str; | 533 | + if($from){ |
| 534 | + $s = @iconv($from,$to,$str); | ||
| 535 | + if($s){ | ||
| 536 | + return $s; | ||
| 530 | } | 537 | } |
| 538 | + } | ||
| 539 | + | ||
| 540 | + } | ||
| 541 | + } | ||
| 542 | + return $str; | ||
| 531 | } | 543 | } |
| 532 | 544 | ||
| 533 | 545 |
| @@ -28,11 +28,7 @@ class Fun { | @@ -28,11 +28,7 @@ class Fun { | ||
| 28 | $from = self::getEncodingAliases($from); | 28 | $from = self::getEncodingAliases($from); |
| 29 | 29 | ||
| 30 | 30 | ||
| 31 | - try { | ||
| 32 | - return mb_convert_encoding($str,$to,$from); | ||
| 33 | - }catch (\Throwable $e){} | ||
| 34 | - | ||
| 35 | - return mb_convert_encoding($str,$to); | 31 | + return mb_iconv($str,$to,$from); |
| 36 | } | 32 | } |
| 37 | 33 | ||
| 38 | 34 |
| @@ -87,7 +87,7 @@ class Imap { | @@ -87,7 +87,7 @@ class Imap { | ||
| 87 | if($folder instanceof \Lib\Imap\Parse\Folder\Folder){ | 87 | if($folder instanceof \Lib\Imap\Parse\Folder\Folder){ |
| 88 | $folder = $folder->folder; | 88 | $folder = $folder->folder; |
| 89 | }else{ | 89 | }else{ |
| 90 | - if(!$utf7) $folder = mb_convert_encoding($folder,"UTF7-IMAP","UTF-8"); | 90 | + if(!$utf7) $folder = mb_iconv($folder,"UTF7-IMAP","UTF-8"); |
| 91 | } | 91 | } |
| 92 | return new Folder($this,$folder); | 92 | return new Folder($this,$folder); |
| 93 | } | 93 | } |
| @@ -53,7 +53,7 @@ class Folder{ | @@ -53,7 +53,7 @@ class Folder{ | ||
| 53 | * @time 2024/9/20 10:00 | 53 | * @time 2024/9/20 10:00 |
| 54 | */ | 54 | */ |
| 55 | public function getParseFolder(){ | 55 | public function getParseFolder(){ |
| 56 | - return mb_convert_encoding($this->folder, 'UTF-8', 'UTF7-IMAP'); | 56 | + return mb_iconv($this->folder, 'UTF-8', 'UTF7-IMAP'); |
| 57 | } | 57 | } |
| 58 | 58 | ||
| 59 | /** | 59 | /** |
| @@ -227,7 +227,7 @@ class Folder extends Request{ | @@ -227,7 +227,7 @@ class Folder extends Request{ | ||
| 227 | */ | 227 | */ |
| 228 | public function rename(string $newFolder, bool $is_utf7 = true):bool { | 228 | public function rename(string $newFolder, bool $is_utf7 = true):bool { |
| 229 | // 需要转码 | 229 | // 需要转码 |
| 230 | - if(!$is_utf7) $newFolder = mb_convert_encoding($newFolder,'UTF7-IMAP','UTF-8'); | 230 | + if(!$is_utf7) $newFolder = mb_iconv($newFolder,'UTF7-IMAP','UTF-8'); |
| 231 | 231 | ||
| 232 | // RENAME oldfolder newfolder | 232 | // RENAME oldfolder newfolder |
| 233 | $this->cmd('RENAME "%s" "%s"',$this->folder,$newFolder); | 233 | $this->cmd('RENAME "%s" "%s"',$this->folder,$newFolder); |
| @@ -371,7 +371,7 @@ class Msg extends Request{ | @@ -371,7 +371,7 @@ class Msg extends Request{ | ||
| 371 | * @time 2024/9/24 10:47 | 371 | * @time 2024/9/24 10:47 |
| 372 | */ | 372 | */ |
| 373 | public function move(string $folder, bool $utf7 = true):bool { | 373 | public function move(string $folder, bool $utf7 = true):bool { |
| 374 | - if(!$utf7) $folder = mb_convert_encoding($folder,"UTF7-IMAP","UTF-8"); | 374 | + if(!$utf7) $folder = mb_iconv($folder,"UTF7-IMAP","UTF-8"); |
| 375 | // "UID MOVE {$uids} \"{$folder}\"" | 375 | // "UID MOVE {$uids} \"{$folder}\"" |
| 376 | $this->cmd('%s MOVE %s "%s"', | 376 | $this->cmd('%s MOVE %s "%s"', |
| 377 | $this->isUid?'UID ':'', | 377 | $this->isUid?'UID ':'', |
| @@ -391,7 +391,7 @@ class Msg extends Request{ | @@ -391,7 +391,7 @@ class Msg extends Request{ | ||
| 391 | * @time 2024/9/24 10:51 | 391 | * @time 2024/9/24 10:51 |
| 392 | */ | 392 | */ |
| 393 | public function copy(string $folder, bool $utf7 = true):bool { | 393 | public function copy(string $folder, bool $utf7 = true):bool { |
| 394 | - if(!$utf7) $folder = mb_convert_encoding($folder,"UTF7-IMAP","UTF-8"); | 394 | + if(!$utf7) $folder = mb_iconv($folder,"UTF7-IMAP","UTF-8"); |
| 395 | // "UID COPY {$uids} \"{$folder}\"" | 395 | // "UID COPY {$uids} \"{$folder}\"" |
| 396 | $this->cmd('%s COPY %s "%s"', | 396 | $this->cmd('%s COPY %s "%s"', |
| 397 | $this->isUid?'UID ':'', | 397 | $this->isUid?'UID ':'', |
| @@ -447,7 +447,7 @@ class Imap { | @@ -447,7 +447,7 @@ class Imap { | ||
| 447 | // 源文件夹名称,在进行 select的时候必须用未解析的文件夹名称 | 447 | // 源文件夹名称,在进行 select的时候必须用未解析的文件夹名称 |
| 448 | 'folder' => trim(trim($m[3]),'"'), | 448 | 'folder' => trim(trim($m[3]),'"'), |
| 449 | // 解析过的文件夹名称 | 449 | // 解析过的文件夹名称 |
| 450 | - 'parseFolder' => mb_convert_encoding(trim(trim($m[3]),'"'), 'UTF-8', 'UTF7-IMAP'), | 450 | + 'parseFolder' => mb_iconv(trim(trim($m[3]),'"'), 'UTF-8', 'UTF7-IMAP'), |
| 451 | // 是否可选择 | 451 | // 是否可选择 |
| 452 | 'isSelect' => strpos($m[1],'NoSelect')===false, | 452 | 'isSelect' => strpos($m[1],'NoSelect')===false, |
| 453 | // 这里里面包含了公共的功能文件夹 比如 草稿,发送,有些邮箱没有 | 453 | // 这里里面包含了公共的功能文件夹 比如 草稿,发送,有些邮箱没有 |
| @@ -494,7 +494,7 @@ class Imap { | @@ -494,7 +494,7 @@ class Imap { | ||
| 494 | */ | 494 | */ |
| 495 | public function folderRename(string $oldFolder, string $newFolder){ | 495 | public function folderRename(string $oldFolder, string $newFolder){ |
| 496 | // 需要转码 | 496 | // 需要转码 |
| 497 | - $newFolder = mb_convert_encoding($newFolder,'UTF7-IMAP','UTF-8'); | 497 | + $newFolder = mb_iconv($newFolder,'UTF7-IMAP','UTF-8'); |
| 498 | // RENAME oldfolder newfolder | 498 | // RENAME oldfolder newfolder |
| 499 | $res = $this->request("RENAME {$oldFolder} {$newFolder}"); | 499 | $res = $this->request("RENAME {$oldFolder} {$newFolder}"); |
| 500 | 500 |
| @@ -326,7 +326,7 @@ class MailFun { | @@ -326,7 +326,7 @@ class MailFun { | ||
| 326 | * @time 2023/3/14 9:37 | 326 | * @time 2023/3/14 9:37 |
| 327 | */ | 327 | */ |
| 328 | public static function folderEncoding($folder):string { | 328 | public static function folderEncoding($folder):string { |
| 329 | - return mb_convert_encoding($folder,'UTF7-IMAP','UTF-8'); | 329 | + return mb_iconv($folder,'UTF7-IMAP','UTF-8'); |
| 330 | } | 330 | } |
| 331 | 331 | ||
| 332 | /** | 332 | /** |
| @@ -572,7 +572,7 @@ class Header | @@ -572,7 +572,7 @@ class Header | ||
| 572 | if (!$from) { | 572 | if (!$from) { |
| 573 | return mb_convert_encoding($str, $to); | 573 | return mb_convert_encoding($str, $to); |
| 574 | } | 574 | } |
| 575 | - return mb_convert_encoding($str, $to, $from); | 575 | + return mb_iconv($str, $to, $from); |
| 576 | } | 576 | } |
| 577 | } catch (\Exception $e) { | 577 | } catch (\Exception $e) { |
| 578 | if (strstr($from, '-')) { | 578 | if (strstr($from, '-')) { |
-
请 注册 或 登录 后发表评论