首页 > 运维 > linux运维 > 正文

window到linux文件名乱码和文件内容乱码解决总结「建议收藏」

蓮花仙者
发布: 2025-07-21 11:34:23
原创
1102人浏览过

大家好,很高兴再次与你们见面,我是你们的朋友全栈君。

在Windows系统上,文件名通常采用GBK编码,而文件内容的编码可以通过文本编辑器如EditPlus来查看或设置。

当将在Windows上正常显示的文件传输到Linux系统时,常常会因为中文编码问题导致文件名和文件内容出现乱码。

查看Linux系统的编码设置:

[root ~]# echo $LANG
zh_CN.UTF-8
[root ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
<p>LC_ALL=
登录后复制

以上是基于CentOS 6.5的查询和设置。之前设置为USA.UTF-8,后来调整为支持中文的zh_CN.UTF-8,需要安装支持中文的软件包:

yum -y groupinstall chinese-support
登录后复制

修改和设置编码:

[root ~]# vim /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"</p><p>[root ~]# source /etc/sysconfig/i18n
登录后复制

完成上述设置后,可以使用XFTP和XSHELL进行以下实验。

在XSHELL中,通过文件 -> 属性 -> 终端设置编码进行设置,XFTP暂时不做设置。

window到linux文件名乱码和文件内容乱码解决总结「建议收藏」

一、解决Linux文件名乱码问题:

  1. 创建包含中文字符的测试目录和测试文件,并通过XFTP上传到Linux服务器:

window到linux文件名乱码和文件内容乱码解决总结「建议收藏」

在XFTP中,中文显示一切正常。

  1. 在Linux系统中发现文件名出现乱码。同时使用file命令查看文件:

window到linux文件名乱码和文件内容乱码解决总结「建议收藏」

此时进行转码操作:

文心快码
文心快码

文心快码(Comate)是百度推出的一款AI辅助编程工具

文心快码 35
查看详情 文心快码
convmv --notest --nosmart -f gbk -t utf8 -r 文件或者目录
登录后复制

参数说明:

  • -f:从什么编码转换
  • -t:转换成什么编码
  • --nosmart:如果已经是UTF-8,忽略
  • -r:包含所有子目录
  • --notest:不加此参数只会列出需要转换的文件,不做实际转换,所以必须加上

window到linux文件名乱码和文件内容乱码解决总结「建议收藏」

通过上述步骤,已经解决了文件名乱码问题。接下来设置XFTP的编码以匹配Linux的编码。

  1. 在XFTP中,通过文件 -> 属性 -> 选项,将编码设置为UTF-8,并选择文件名传输编码。这样显示的文件名将直接使用UTF-8编码,Linux系统中就不会出现乱码。

window到linux文件名乱码和文件内容乱码解决总结「建议收藏」window到linux文件名乱码和文件内容乱码解决总结「建议收藏」

  1. 通过上述设置,如果发现压缩包文件在服务器端解压后出现乱码,建议先在Windows系统中解压,然后将整个目录传输到服务器上,检查传输后的文件是否仍然出现乱码。通过实践,发现中文可以正常显示。

二、解决文件内容乱码问题:

  1. 使用cat命令查看文件内容时发现乱码:

window到linux文件名乱码和文件内容乱码解决总结「建议收藏」

  1. 使用iconv命令进行转码:
iconv -f gbk -t utf8 test测试.txt -o test测试.txt
登录后复制

通过测试,已经成功将文件内容乱码转码。

同时,如果不希望覆盖原文件,可以使用以下命令:

iconv -f gbk -t utf8 haha.txt > haha.txt.utf8
登录后复制

这种方法不会覆盖原文件,但原文件将为空。

window到linux文件名乱码和文件内容乱码解决总结「建议收藏」

  1. 对于从Windows传输过来的Shell脚本,需要进行转码:
yum install -y dos2unix
dos2unix xxx.sh
登录后复制

window到linux文件名乱码和文件内容乱码解决总结「建议收藏」

通过上述两种方法,基本解决了从Windows到Linux系统的文件名和文件内容乱码问题。如果遇到新的问题,将会继续补充。

发布者:全栈程序员栈长,转载请注明出处:https://www.php.cn/link/87a57c9dce29e600b772912ff1c4c1c7 原文链接:https://www.php.cn/link/c8377ad2a50fb65de28b11cfc628d75c

以上就是window到linux文件名乱码和文件内容乱码解决总结「建议收藏」的详细内容,更多请关注php中文网其它相关文章!

Windows激活工具
Windows激活工具

Windows激活工具是正版认证的激活工具,永久激活,一键解决windows许可证即将过期。可激活win7系统、win8.1系统、win10系统、win11系统。下载后先看完视频激活教程,再进行操作,100%激活成功。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号