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

👨‍🎓博主简介

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


一、乱码问题排查

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命令设置正确的语言环境(临时的)
export LANG=en_US.UTF-8

# 方法三、将环境变量添加到/etc/profile
echo "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 -y install convmv
# 安装软件(ubuntu)
apt-get update -y
apt -y install 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 -y install 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

格式转换完成。

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A-刘晨阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值