0


Linux文件或图片名称中文乱码解决【适用于centos、ubuntu等系统】

👨‍🎓博主简介

  🏅CSDN博客专家
  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


文章目录

一、乱码问题排查

1、要先看服务器的语言环境

# 执行locale查看当前的语言环境
locale

zh_CN.UTF-8

,有的服务器是

en_US.UTF-8

这两个都可以;

如果没有,就需要配置:

# 方法一、修改/etc/locale.conf文件echo"LANG=en_US.UTF-8" /etc/locale.conf
# 加载/etc/locale.conf文件,使其生效source /etc/locale.conf

# 方法二、使用export LANG=en_US.UTF-8命令设置正确的语言环境(临时的)exportLANG=en_US.UTF-8

# 方法三、将环境变量添加到/etc/profileecho"export LANG=en_US.UTF-8">> /etc/profile
# 加载/etc/profile文件,使其生效source /etc/profile

2、查看服务器是否支持中文类型

locale -a|grep"zh_CN"

如果没有的话就需要下载一个命令

yum groupinstall chinese-support

下载完之后使用该中文包

echo"LANG=zh_CN.UTF-8" /etc/locale.conf
# 加载/etc/locale.conf文件,使其生效source /etc/locale.conf

3、查看上传文件的工具编码类型【这里以winscp来举例】

新建一个服务器连接

image-20240511113806342

添加主机名等信息,然后点高级

image-20240511113841719

环境 – > 文件名utf8编码,给开启;

image-20240511113939219

二、如果已经上传了文件需要修改文件乱码

# 安装软件(centos)
yum -yinstall convmv
# 安装软件(ubuntu)apt-get update -yapt-yinstall convmv

# 使用
convmv -f gbk -t utf-8 -r--notest /home/要操作的文件
convmv -f gbk -t utf-8 -r--notest 要操作的文件

参数:
参数参数解析-f源编码-t要修改的编码-r递归处理子文件夹-i交互模式(询问每一个转换,防止误操作)–list显示所有可用编码–nosmart如果是utf8文件,忽略–notest直接转换不测试–replace文件相同直接替换–unescape可以做一下转义,比如把%20变成空格–upper全部转换成大写–lower全部转换成小定


其他:

linux下有许多方便的小工具来转换编码:

  • 文本内容转换 iconv
  • 文件名转换 convmv

三、实例【centos系统】

上传的中午文件或者图片都是乱码,我们要以第二种方式,已经上传了的文件进行乱码修改;

image-20240511132046272

1、首先安装命令

yum -yinstall convmv

image-20240511132246619

2、对乱码文件、目录下的所有乱码文件进行格式转换

  • 对单个乱码文件进行格式转换(一般用于目录下只有单个文件或者可以复制的时候转换,乱码是打不出来的)
convmv -f gbk -t utf-8 -r--notest ?龳??????.jpg

image-20240511132623074

  • 对整个目录下所有的乱码文件进行格式转换
convmv -f gbk -t utf-8 -r--notest /home/lcy/cs/luanma/

image-20240511132911517

格式转换完成。

标签: linux centos ubuntu

本文转载自: https://blog.csdn.net/liu_chen_yang/article/details/138711969
版权归原作者 A-刘晨阳 所有, 如有侵权,请联系我们删除。

“Linux文件或图片名称中文乱码解决【适用于centos、ubuntu等系统】”的评论:

还没有评论