分页: 1 / 3

[原创]gftp中文乱码彻底解决方案

发表于 : 2008-05-03 22:16
rushui999
gftp是linux下的比较好的ftp传输软件,可是对于中文支持太差,老是有乱码,网上介绍的方法试了很多,都不够彻底,后来通过自己的不懈努力,感觉总算完美解决了乱码问题了。
首先,打开终端,输入命令
sudo locale-gen zh_CN.GBK
这条命令是在系统里生成GBK字符集的;不管系统里面有没有都执行一下吧,因为执行完了肯定会生成了。然后输入命令
sudo gedit /usr/bin/gftp
在#!/bin/sh之后加上
export LANG=zh_CN.GBK
保存之后关闭。这是网上的一个作者说的方法,我照着做了,但还是没有效果。
正当我准备认为这个方法也不行,准备放弃时,突然想试着从终端启动,看有什么情况。结果意想不到的情况发生了,从终端启动的gftp没有乱码了,我在终端里面敲的就是gftp这个命令啊。于是我首先关闭gftp,又试着从应用程序——互联网——gftp启动,发现还是乱码,这时我仔细观察了两次启动时gftp下面的信息,然来图形化界面启动时gftp装入的并不是GBK字符集,而是UTF-8字符集,这就表明我们修改的配置文件根本没有起到作用。然而我发现从终端启动的gftp装入的就是GBK字符集,这表明这两个启动命令肯定有区别。于是我在系统——首选项——主菜单里面找到gftp的菜单项,右键属性后发现其启动命令是gftp-gtk %u,果然与终端启动的命令不同,于是我把这个启动命令改成gftp。然后重新从应用程序——互联网——gftp启动,果然问题解决了。
我尝试打开了几个中文ftp站点,果然都没有乱码了,非常完美。大家可以试一下这个方法。个人感觉这个方案已经是完全解决了gftp中文乱码的问题了。

发表于 : 2008-05-03 22:51
rhfcaesar
:D :D

发表于 : 2008-05-03 23:04
darksheen
我也来试试……

但是这样gFtp的界面就成中文的了

发表于 : 2008-05-04 9:22
EntertainYou
rt

发表于 : 2008-05-04 9:24
bird
用FileZilla就没这个问题,源里也有的,呵呵

发表于 : 2008-05-04 9:25
yaoms
用 lftp ..无敌

发表于 : 2008-05-04 9:26
cnshzj007
使用fireftp,火狐的插件,嘿嘿,也无敌。嘿嘿

发表于 : 2008-05-04 10:41
deadboy
yaoms 写了:用 lftp ..无敌
怎么输入中文呢?比如进入中文目录
输入法正常,一上屏就乱码了,怎么办?

发表于 : 2008-05-04 11:05
yaoms
deadboy 写了:
yaoms 写了:用 lftp ..无敌
怎么输入中文呢?比如进入中文目录
输入法正常,一上屏就乱码了,怎么办?
不会阿,我的没遇到这个问题哦

发表于 : 2008-05-04 19:37
woainba15
用了LZ的方法还是乱码,真是郁闷了!

发表于 : 2008-05-04 23:15
rushui999
woainba15 写了:用了LZ的方法还是乱码,真是郁闷了!
你启动gftp后发现,最下面几行显示的是载入GBK字符集吗?另外,能否随便给一个ftp站点给我看看,我看看在我的gftp上是不是乱码?

发表于 : 2008-05-08 23:22
kumox
终于解决了,感谢LZ~~~

发表于 : 2008-09-14 11:05
frozenmaple
我的已经用楼主的方法解决了 谢谢阿

Re: [原创]gftp中文乱码彻底解决方案

发表于 : 2008-10-24 8:21
wangtwo
楼主的方法可行,但是有一点要注意:

如果不把 gftp -->ftp--->选项-->常规-->远程字符集 的编码清空可能是不行的。

例如我的

终端的错误输出

(gftp-gtk:6183): IBUS-DEBUG: japan_groups = 0x0
在将字符串“��QTex_FastEnvironmentInsert”从字符集 gb2312 转换成字符集 UTF-8 时出错:转换输入中出现无效字符序列

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()
在将字符串“������IP�б�.txt”从字符集 <未知> 转换成字符集 UTF-8 时出错:转换输入中出现无效字符序列
在将字符串“�ļ��б�.zip”从字符集 <未知> 转换成字符集 UTF-8 时出错:转换输入中出现无效字符序列
在将字符串“��������ʱ.txt”从字符集 <未知> 转换成字符集 UTF-8 时出错:转换输入中出现无效字符序列

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()

(gftp-gtk:6183): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text()




但是,把它清空后。 在/usr/share/gftp/gftprc 更改 remote_charsets
remote_charsets=cp936,gbk,gb2312,utf-8,euc-tw

按照楼主从终端启动的方法就可以解决这个问题了。


用楼主的方法行不通的朋友,可能是因为保留了 gftp -->ftp--->选项-->常规-->远程字符集
里的设置。

Re: [原创]gftp中文乱码彻底解决方案--彻底吗?

发表于 : 2008-10-24 8:42
wangtwo
不过说实话, 楼主的方法我认为不能叫彻底解决。 每次都从终端启动的话, gftp 在应用程序里的快捷启动就多余了。

有没有从桌面启动而又能保证不出现乱码的方法呢?? 还需要研究。

终究是我们对gftp的运行方式不够了解。

希望不要说别的ftp工具可以代替它, 因为问题还是摆在哪了。