当前位置: 首页 > news >正文

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

👨‍🎓博主简介

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


文章目录

  • 一、乱码问题排查
    • 1、要先看服务器的语言环境
    • 2、查看服务器是否支持中文类型
    • 3、查看上传文件的工具编码类型【这里以winscp来举例】
  • 二、如果已经上传了文件需要修改文件乱码
  • 三、实例【centos系统】

一、乱码问题排查

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

格式转换完成。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MATLAB中“varargin”的作用
  • TCL 实业 x TiDB丨从分销转向零售,如何考虑中台建设和数据库选型?
  • 《Techporters架构搭建》-Day04 基础架构
  • C基础项目(学生成绩管理系统)
  • 从根儿上学习spring 七 之run方法启动第四段(1)
  • 云计算实训21——mysql-8.0.33-linux-glibc安装及使用
  • 电脑本地如何安装MySQL服务
  • Git详细命令大全
  • 大模型检索增强生成RAG
  • 题解 - 树上游走(二)(上海月赛2024.7甲组T1)
  • Python(模块)
  • 微信小程序实现上传照片功能
  • C#加班统计次数
  • CSS:图片间空白间距问题的解决方案
  • java Path对象和URI对象的转换
  • angular2开源库收集
  • ES6系列(二)变量的解构赋值
  • ESLint简单操作
  • interface和setter,getter
  • java 多线程基础, 我觉得还是有必要看看的
  • java正则表式的使用
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Webpack 4x 之路 ( 四 )
  • 给第三方使用接口的 URL 签名实现
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 追踪解析 FutureTask 源码
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • ​MySQL主从复制一致性检测
  • #define
  • #pragma multi_compile #pragma shader_feature
  • #QT(TCP网络编程-服务端)
  • #WEB前端(HTML属性)
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (二)Linux——Linux常用指令
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (四)进入MySQL 【事务】
  • (一)Linux+Windows下安装ffmpeg
  • (译) 函数式 JS #1:简介
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转载)hibernate缓存
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • ./和../以及/和~之间的区别
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NET单元测试
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • @拔赤:Web前端开发十日谈
  • [100天算法】-目标和(day 79)
  • [8] CUDA之向量点乘和矩阵乘法
  • [C#]使用OpenCvSharp图像滤波中值滤波均值滤波高通滤波双边滤波锐化滤波自定义滤波