一个FAT FS, 用默认option mount过, 写过文件, 导致文件名在win下认不出, linux下
用iocharset=utf8, 也fail. 这个好理解, 因为默认mount是:
codepage=850,iocharset=iso8859-1,utf8=0
因此需要进行编码转换, 但挠头的是 convmv不工作!, 不论是默认mount还是utf8
mount结果都是说编码已经是UTF-8. 会不会因为system locale是UTF-8的原因? 这个问
题怎么fix?!
/media/test type vfat (rw,uid=1000,gid=1000,umask=077,codepage=850,iocharset
=iso8859-1,utf8=0)
/media/test $ convmv -f iso-8859-1 -t utf-8 -r .
Your Perl version has fleas #37757 #49830
Starting a dry run without changes...
Skipping, already UTF-8: ./軟體測試.txt
/media/test type vfat (ro,uid=1000,gid=1000,umask=077,iocharset=utf8)
/media/test $ convmv -f iso-8859-1 -t utf-8 -r .
Your Perl version has fleas #37757 #49830
Starting a dry run without changes...
Skipping, already UTF-8: ./è»é«æ¸¬è©¦.
txt
正常的编码是这个:
\xe8\xbb\x9f\xe9\xab\x94\xe6\xb8\xac\xe8\xa9\xa6
乱码的编码是这个:
\xc3\xa8\xc2\xbb\xc3\xa9\xc2\xab\xc3\xa6\xc2\xb8\xc2\xac\xc3\xa8\xc2\xa9\xc2
\xa6