在gnome2中,vfs为我们提供了一种能在nautilus中直接浏览ftp、sftp、http以及smb站点的能力,但是我发现当这些站点中含有中文字的时候,文件名却显示未非法的unicode错误。
我分析原因,发现虽然文件名显示为unicode错误,但是却是可以正常进入,显示为sftp://10.1.38.40/home/xiaoju/%D6%D0%CE%C4这样的字样。
通过看代码我发现这个是由于gnome-vfs只接受unicode编码而大多数的vfs模块却直接将本地文件名传给了gnome-vfs。
我现在试图修正这个bug,有两个选择,一个是在gnome-vfs中增加代码,使得当文件名为非法unicode的时候自动采用本地locale设置转化为unicode,第二是分别修改每个gnome-vfs模块。不知道哪种方法更好一些。
另外就是目前有人已经注意到或者修改过这个bug了吗?