👨🎓博主简介
🏅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来举例】
新建一个服务器连接
添加主机名等信息,然后点高级
环境 – > 文件名utf8编码,给开启;
二、如果已经上传了文件需要修改文件乱码
# 安装软件(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系统】
上传的中午文件或者图片都是乱码,我们要以第二种方式,已经上传了的文件进行乱码修改;
1、首先安装命令
yum -yinstall convmv
2、对乱码文件、目录下的所有乱码文件进行格式转换
- 对单个乱码文件进行格式转换(一般用于目录下只有单个文件或者可以复制的时候转换,乱码是打不出来的)
convmv -f gbk -t utf-8 -r--notest ?龳??????.jpg
- 对整个目录下所有的乱码文件进行格式转换
convmv -f gbk -t utf-8 -r--notest /home/lcy/cs/luanma/
格式转换完成。
版权归原作者 A-刘晨阳 所有, 如有侵权,请联系我们删除。