查看源代码
出自Linux Wiki
对
中文文件名乱码问题
的源代码
根据以下的原因,您无权限进行编辑这个页面操作:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
{{Note|本文解决的是文件名或文件夹名的编码问题,要查看转换文件内容的选项,请参考<tt>iconv</tt>工具。更多与乱码有关的问题,请参阅[[:Category:中文编码与乱码问题|中文编码与乱码问题]]分类。}} 中文文件名乱码产生的原因有二:一是挂载NTFS或FAT文件系统时,编码指定不正确导致乱码(或问号);二是在文件系统中文件名存储的编码不正确,导致乱码。二者分别讨论: ==NTFS/FAT上的文件名乱码== 如果正在用的Linux系统locale是UTF-8,只需在mount FAT文件系统时加上<tt>utf8</tt>参数,在mount NTFS文件系统时加上<tt>nls=utf8</tt>即可,如下例子[[fstab]]: <source lang="bash"> LABEL=WinFAT /media/WIND vfat defaults,utf8,umask=111,dmask=000 0 0 /dev/sda6 /media/WinNTFS ntfs defaults,nls=utf8,umask=0111,dmask=000 0 0 </source> ==其它情况== 有时中文文件名显示为乱码,通常可以通过转换文件名 有时我们需要更改文件名的编码: * 在locale为UTF-8的系统中,[[压缩文件的解压与制作|解压]]含有中文文件名的zip文件,文件名出现乱码。 * 将系统Local从GBK迁移到UTF-8 * 遇到文件名乱码的其它情形 {{Note|'''千万不要'''在NTFS或FAT文件系统上执行convmv,否则极可能产生意外结果。}} ===convmv简介=== <tt>convmv</tt>存在于常见操作系统的软件仓库中。如果当前没有工具,可以直接安装。 convmv -f 源编码 -t 新编码 [选项] 文件名 常见有用的选项有: ;-r:递归处理子文件夹 ;--notest: 真正进行操作,请注意在默认情况下是'''不'''对文件进行真实操作的,而只是试验。 ;--unescape: 可以做一下转义,比如把%20变成空格,如果你不知道这是在做什么,就不要尝试了。 ===实例=== 一般可解决解压zip而产生的中文文件名乱码的步骤:先试着将gbk文件名改为UTF-8: convmv -f gbk -t utf8 -r MY_DIR 如果确认输出无误: convmv --notest -f gbk -t utf8 -r MY_DIR ===处理zip文件乱码=== 配合 7z ,可以解决 zip 文件中的中文文件编码问题。 LC_ALL=C 7z x zip文件名.zip convmv -f gbk -t utf8 -r dir_path 确认无误后: convmv -f gbk -t utf8 -r dir_path --notest [[Category: 中文编码与乱码问题]]
在这个页面上使用的模板有:
Template:Note
(
查看源码
)
返回到
中文文件名乱码问题
。
导航
首页
社区入口
当前事件
最近更改
随机页面
帮助
查看
页面
讨论
查看源代码
历史
个人工具
登录/创建账户
搜索
简体繁体转换
不转换
简体
繁體
工具箱
链入页面
链出更改
特殊页面