正在显示
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, '-')) { |
-
请 注册 或 登录 后发表评论