linux中,我的LC_ALL环境是zh_CN.gbk。
当我把中文文件名文件cp到windows的fat32盘下后,重起进入windows后发现文件名全是乱码。
首先google,baidu了下,发现都推荐用convmv,这个工具是用perl编写的,确实非常好用的工具,不过在我这里它不适合。
----------------------------------------------------我是华丽的分割线------------------------------------------------
还是拿具体例子来说话,比如说文件,政治.txt,先说下造成乱码的根本原因,在windows下用winhex查看后,发现,
那些文件名确实是gbk编码,只不过,编码给分开了。
政治,gbk编码 D5FE D6CE ,可是在硬盘上存储的时候却变成了,D500 FE00 D600 CE00。就算没有多出这些00,我自己手动
改成 D5FE D6CE也不可以,因为windows下用的是unicode编码。
----------------------------------------------------我是华丽的分割线------------------------------------------------
尝试下在linux中用convmv把gbk转成unicode看看,不过之前,先用hexedit看下。
无法转换成unicode,ucs-2le或者utf-16le,因为linux不支持,这个编码的文件名...
结果发现ÿ