转载时请注明出处和作者联系方式:http:///mimepp
作者联系方式:YU TAO <yut616 at sohu dot com>
这里列一下,在不同文件系统上,字符编码会有什么不同。
这里以中文字:严,和西欧洲文字:ç 为例,作为USB上文件名来说明:
mount参数 | 严(unicode为 4E 25) | ç (unicode为 00 E7) | |
NTFS/VFAT | -o iocharset=utf8 | E4 B8 A5 (三字节 utf8 编码) | C3 A7(两字节 utf8编码) |
ext3 | N/A | E4 B8 A5 (三字节 utf8 编码) | E7(windows-1252编码) |
从上面的表格可以看出:
1、NTFS/VFAT 使用 iocharset=utf8 是,读到的内容,都是用 utf8 表示的。
2、ext3中,mount中无 charset 参数。
这样会出现 ext3 中,中文是使用的 utf8 表示的,而西欧文字,却是windows-1252编码的。
这样要正确显示 ext3 上的西欧文字,就需要将其用 windows-1251 转码后,才能正确显示。