Linux 下读取FTP服务器目录问题!

在Linux 下,用C语言写了一下获取 FTP 服务器上的文件列表!但是FTP服务器是Windows系统 ,而Windows的编码 和 Linux 的编码不一样,导致程序输出时是乱码??有什么办法解决嘛??现在可以完整的获取文件列表!比如在 string 中保存着文件列表,里面有乱码!我该对string 进行怎样的操作才能使在linux上正常显示 !我使用 g_convert() ;转换,但是转换完之后,报错!说什么错误的字符序列!??????谢谢各位!

第1个回答  2013-11-13
编码就两种,Linux用 Unicode的UTF-8,而WINDOWS的汉字码一般是GBK(GB2312);
功能强的ftp客户端有汉字码制选择。WINDOWS也在向UTF-8转,但有个过程。追问

现在在转换时,会报错误的字符序列,可能FTP在传文件列表的过程有,有什么不可见的字符吧!

追答

你的ftp程序中不要转换,因为并不知道ftp客户端究竟是什么码制。
让客户端自行设定码制。客户端会有转换的。

本回答被网友采纳
第2个回答  2013-11-13
要做字符格式转换.和楼上说的差不多
第3个回答  2013-11-13
你代码呢?
我记得winxp下面都是gb2312的编码,而linux下都是默认utf8,你是这样转换的么?追问

是的,不行!我编译之后运行
printf ("%s\n", string); // 正常输出,不过显示的中文是乱码

gchar * str = g_convert(string, -1 "UTF-8", "GB2312", NULL, NULL, NULL);
printf ("%s", str); // 会报段错误 ,说什么错误的字符序列

追答

好像就是你这样,要不你试试看g_convert(string,-1,"GB2312","UTF-8",NULL,NULL,NULL)。

本回答被提问者采纳

linux下用ftp命令连接到ftp服务器应该如何查看服务器上的目录文件数
1.Linux下启动ftp 2.连接FTP 3.进入FTP目录 4.查看目录文件数 ls -l 普通文件就是以 - 开头,文件夹以 d 开头,grep 后面接正则表达式:^- 以 - 开头的匹配。

器上文件Linux检查FTP服务器文件的方法linux查看ftp服务
为了检查FTP服务器文件,首先需要获取FTP服务器的IP地址或URL。然后使用Linux的控制台,用ftp命令连接到FTP服务器,输入用户名密码来登录FTP。一旦完成登录,就可以使用dir命令查看FTP服务器上的文件,并使用ls或ll命令查看文件属性,以确定文件的类型、大小、权限等信息。此外,可以使用mget命令将FTP服务器上...

linux下如何查看ftp的目录
我们通过tree命令(需要安装,方法:sudo apt-get install tree)可以以树状图的方式查看文件目录,而目录中不同类型的文件有各自的颜色,如下所示:白色--普通文件 蓝色--目录 绿色--可执行文件 红色--压缩文件 青色--链接文件 黄色--设备文件 灰色--其他文件 通过ls命令,查看当前文件夹内的文件;l...

怎么通过linux访问服务器上的ftp
被动模式:FTP服务端等待FTP客户端的连接请求。11.2 安装vsftpd服务程序Vsftpd即“Very Secure FTP Daemon”是一款运行在类Unix操作系统的FTP服务端程序,Vsftpd主打的是安全性、完全开源及免费、速率高、支持IPv6、虚拟用户功能等等其他FTP服务端软件不具备的功能。安装vsftpd服务程序包:[root@linuxprobe ~]# yum install...

linux里ftp服务器怎么配置根目录?
1、deepin linux默认没有安装命令行的ftp客户端,在终端执行ftp命令会提示未找到命令。2、要安装命令行下的ftp客户端,只需要执行如下命令即可。sudo apt-get install ftp。3、安装完成就可以使用命令行下的ftp命令连接ftp服务器了,如下图所示。4、也可以执行ftp命令,进入交互模式后,通过子命令open来...

linux下怎样登录ftp服务器
1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。2、其次,在linux命令行中输入:ftp 10.18.34.115。3、最后,按下回车键执行shell指令,此时会看到已成功连接上ftp服务,可输入ftp命令了。

linux下访问windows的ftp服务器乱码
编码问题,Windows默认是GB2312,Linux默认是UTF-8.

Linux ftp服务器相关问题
(1)先mount光驱,在\/mnt\/cdrom\/Server目录里有rpm,rpm -ivh vsftpd 4.创建用户 (1)首先要启动服务 (2)创建两个用户 5.vsftpd的配置 安装完之后在\/etc\/vsftpd\/路径下会存在三个配置文件。vsftpd.conf: 主配置文件 ftpusers: 指定哪些用户不能访问FTP服务器,这里的用户包括root在内的一些重要...

linux的ftp权限
1、首先直接在起始栏搜索框中输入"Internet",然后选择【Internet信息服务(IIS)管理器】,单击进入服务器管理器;2、在左边连接框中的【网站】中选择创建的FTP服务器;3、点击右边【高级设置】选项,进入到FTP的高级设置Dialog中;4、在高级设置Dialog中找到【允许UTF-8】一栏,点击下拉列边,并选择【...

怎么解决FTP服务器权限限制?
首先,管理员应检查和调整FTP服务器上的用户和目录权限设置。确保每个用户都有足够的权限来访问和传输所需的文件。这包括验证用户账号和密码是否正确,以及确认用户所在目录的读写权限是否适当。如果发现权限不足,管理员应根据实际需求调整权限设置,例如使用`chmod`命令在Linux系统中修改文件或目录的权限,...

相似回答