从Windows复制文件到Linux显示乱码问题
(1).文件名乱码
这并不是所有人都会碰到的问题,一般常见于使用putty的用户。使用convmv命令可以解决这个问题。
我写详细一点还原真实场景,首先我来上传一个测试文件“a此文件在windows下打开正常-到linux下vim打开乱码.txt”。在确保putty可以正常连接到Linux上,打开Windows上的命令提示符输入pscp命令(pscp [Windows上的文件位置,可以绝对路径,可以相对路径] [以什么用户登录Linux]@[Linux的IP地址]:[传到Linux上什么位置,绝对路径])。
C:\Users\xuefei>pscp c:\Users\xuefei\Desktop\a此文件在windows下打开正常-到linux
下vim打开乱码.txt xf@192.168.0.10:/home/xf/
xf@192.168.0.10's password:
a此文件在windows下打开正?| 0 kB | 0.1 kB/s | ETA: 00:00:00 | 100%
这就上传好,下面我们来Linux下看看上传后的文件
[xf@xuexi ~]$ ls
1 secondDir 视频 下载
a???ļ???windows?´???????-??linux??vim????????.txt 公共 图片 音乐
mainDir 模板 文档 桌面
可以看到有一个a开头的乱码文件名,看一下自己有没有convmv命令,没有就yum安装一下,记住这时需要使用root用户
[root@xuexi ~]# yum install convmv
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.cn99.com
* extras: mirrors.aliyun.com
* updates: mirrors.cn99.com
CentOS7 | 3.6 kB 00:00
安装完convmv命令,可以--help一下看看如何使用。这里会使用到-f选项(源文件编码格式),-t(想要的格式),--notest选项(文件重新命名)。如果是目录还需要-r选项(遍历目录)
[root@xuexi ~]# convmv -f gbk -t utf8 --notest /home/xf/a���ļ���windows�´�������-��linux��vim��������.txt
mv "/home/xf/a���ļ���windows�´�������-��linux��vim��������.txt" "/home/xf/a此文件在windows下打开正常-到linux下vim打开乱码.txt"
Ready!
[root@xuexi ~]# ls /home/xf/
1 secondDir 视频 下载
a此文件在windows下打开正常-到linux下vim打开乱码.txt 公共 图片 音乐
mainDir 模板 文档 桌面
看,这就完成了。
注意:Windows编码是gb2312,我的Linux编码是UTF-8。想要看自己的编码可以使用locale查看。详细了解可以看 https://www.cnblogs.com/diantong/p/10200145.html
[xf@xuexi ~]$ 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"
LC_ALL=
(2).文件内的乱码
转换完文件名的乱码其实并没有结束,因为文件内容还是乱码
[xf@xuexi ~]$ cat a此文件在windows下打开正常-到linux下vim打开乱码.txt
#!/bin/bash
echo 'ѧϰ'
echo 'ѧϰ'
echo 'ѧϰ'
echo 'ѧϰ'
这时需要用到iconv命令,没有yum安装一下。这里会用到-f选项(源文件格式),-t选项(想要的格式),-o选项(输出文件)
[xf@xuexi ~]$ iconv -f gbk -t utf8 a此文件在windows下打开正常-到linux下vim打开乱码.txt -o a此文件在windows下打开正常-到linux下vim打开乱码.txt //我这里将编译后的文件输出到源文件
[xf@xuexi ~]$ cat a此文件在windows下打开正常-到linux下vim打开乱码.txt
#!/bin/bash
echo '学习'
echo '学习'
echo '学习'
echo '学习'
(3).扩展
如果你对文件名没有要求,或文件名输入并不复杂,可以将直接使用iconv命令重新给一个新的文件名
[xf@xuexi ~]$ ls
1 secondDir 视频 下载
a???ļ???windows?´???????-??linux??vim????????.txt 公共 图片 音乐
mainDir 模板 文档 桌面
[xf@xuexi ~]$ iconv -f gbk -t utf8 a���ļ���windows�´�������-��linux��vim��������.txt -o a.txt
[xf@xuexi ~]$ ls
1 mainDir 模板 文档 桌面
a???ļ???windows?´???????-??linux??vim????????.txt secondDir 视频 下载
a.txt 公共 图片 音乐
[xf@xuexi ~]$ cat a.txt
#!/bin/bash
echo '学习'
echo '学习'
echo '学习'
[xf@xuexi ~]$ rm a???ļ???windows?´???????-??linux??vim????????.txt
[xf@xuexi ~]$ ls
1 a.txt mainDir secondDir 公共 模板 视频 图片 文档 下载 音乐 桌面
从Windows复制文件到Linux显示乱码问题的更多相关文章
- 从Windows复制文件到Linux
PuTTY自带的pscp非常好用. 使用方式和Linux中的scp命令很像,格式如下: pscp 文件 用户名@LinuxIP:目录 例如: pscp d:/a.iso root@192.168.1. ...
- 解决Windows下文件在Linux下打开出现乱码的问题
目录 问题 原理 解决 总结 参考资料 问题 前几天生病了,Java一直在看代码但是没跟着打,于是决定偷一波小小的懒,直接把教材的代码从Windows通过共享文件夹放到了Linux里面.但是编译的时候 ...
- Windows 压缩文件到 Linux中解压文件名乱码
问题 在Windows中将文件夹压缩后,拿到Ubuntu系统中解压,中文文件名乱码 解决 因为两个系统所使用的编码不同,Windows一般使用GBK编码,Ubuntu使用utf8编码,只需要在解压的时 ...
- Xshell 、PuTTY 复制文件到Linux
一.使用Xshell 在linux下下载一个需要安装一个工具lrzsz包: [root@localhost home] # yum install -y lrzsz 从windows上传文件到linu ...
- python生成html文件浏览器中文显示乱码问题
近来在网上采集数据,想把采集下来的数据整合成html的形式保存.以便其他的平台产品可以直接读取html显示或者根据html标签提取数据. def output_html(self): try: fou ...
- HTML 表单 存为EXCEL文件时 中文显示乱码
在做宣传品发放系统时,需求要把数据库查询的记录生成表单并转存excel文件. 在转存的EXCEL文件中文显示乱码,表格和其他字符正常,检查后发现是创建EXCEL文件打开模式不对 之前: myfile ...
- 记一下拷贝windows下文件到linux下的方法
去官网下载的Putty中包含了如下文件: 其中pscp.exe是一个远程复制文件的工具. 官网:https://www.chiark.greenend.org.uk/~sgtatham/putty/l ...
- vscode打开文件,中文显示乱码(已解决)
之前使用vscode打开keil的文件后,发现显示乱码,网上查找资料发现大多是这种方法:将files.autoGuessEncoding改为true,但是并没有用. 发现第二种方法为:在vscode中 ...
- windows下的文件到linux下乱码 iconv 修改文件编码
conv [选项...] [文件...] 有如下选项可用: 输入/输出格式规范:-f, --from-code=名称 原始文本编码-t, --to-code=名称 输出编码 信息:-l, --list ...
随机推荐
- 【BZOJ1038】【ZJOI2008】瞭望塔 [模拟退火]
瞭望塔 Time Limit: 10 Sec Memory Limit: 162 MB[Submit][Status][Discuss] Description 致力于建设全国示范和谐小村庄的H村村 ...
- WordPress在nginx服务器伪静态
server { listen 80; root /var/www/xxx; server_name www.xxx.com; access_log /var/log/www/xxx.log main ...
- js中的apply、call、bind
每个函数都包含两个非继承而来的方法,call()和apply(),可以改变函数内部this的指向 1.apply 用另一个对象替换当前对象,接收两个参数,第一个参数表示需要绑定的this变量,第二个参 ...
- face_recognition 人脸识别报错
[root@localhost examples]# python facerec_from_video_file.py RuntimeError: module compiled against A ...
- python mysql插入数据遇到的错误
1.数据插入的时候报错:not enough arguments for format string,大概意思就是说没有足够的参数格式化字符串. 我的数据库插入方法是这样的 def add_data( ...
- C#反射动态调用dll中的方法及使用QuartZ.net实现作业调度
using Quartz; using Quartz.Impl; using System; using System.Collections.Generic; using System.Linq; ...
- Queue类
1.LinkedBlockingQueue:基于链接节点的可选限定的blocking queue . 这个队列排列元素FIFO(先进先出). 队列的头部是队列中最长的元素. 队列的尾部是队列中最短时间 ...
- nginx升级步骤
今天应开发的需求,需要在Nginx增加一个模块,并不能影响现有的业务,所以就必须要平滑升级Nginx,好了,不多说了 1:查看现有的nginx编译参数 /usr/local/nginx/sbin/ng ...
- kivy安装
>>> os.system('pip install kivy')Collecting kivy Downloading Kivy-1.9.1-cp27-none-win_amd64 ...
- django 上传图片、使用PIL制作缩略图并保存到sea的storage
上传图片解析: SAE的设置指引如下: 处理用户上传文件 在setttings.py中添加以下配置. # 修改上传时文件在内存中可以存放的最大size为10m FILE_UPLOAD_MAX_MEMO ...