加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP – FTP文件名编码问题

发布时间:2020-12-13 18:14:14 所属栏目:PHP教程 来源:网络整理
导读:我会简短的.我的FTP函数返回错误的文件名编码 $conn_id = ftp_connect("site.com");ftp_login($conn_id,"login","pass");ftp_pasv($conn_id,true);$buff = ftp_nlist($conn_id,"./");print_r($buff);- // result array() { [0]= "??.txt" } 文件名具有Window
我会简短的.我的FTP函数返回错误的文件名编码
$conn_id = ftp_connect("site.com");
ftp_login($conn_id,"login","pass");
ftp_pasv($conn_id,true);
$buff = ftp_nlist($conn_id,"./");
print_r($buff);

->  // result
    array() {
        [0]=> "??.txt"
    }

文件名具有Windows-1251编码.

我尝试通过nodejs连接到FTP,但它也返回令人毛骨悚然的东西 – òe.txt.

然而,我的桌面客户端(WinSCP)可以正常工作.

PS:我试过使用utf8_encode – 但这对我来说也不行.

如果编码是你可以尝试使用 mb_convert_encoding更改它.下面的代码应输出正确的值.
<?php
echo mb_convert_encoding($buff[0],"UTF-8");
//or
echo mb_convert_encoding($buff[0],"UTF-8","windows-1251");
?>

如果它不起作用,你可以尝试使用类似的东西找到正确的编码

<?php
foreach(mb_list_encodings() as $chr){
  echo mb_convert_encoding($buff[0],'UTF-8',$chr)." : ".$chr."<br>"; 
} 
?>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读