linux与windows 互传的文件,中文名称出现乱码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux与windows 互传的文件,中文名称出现乱码相关的知识,希望对你有一定的参考价值。

XP系统上面装了个中标普华的linux虚拟机,通过SSH连接进行文件传输,XP系统的中文文档传到linux上面,文件名称变成了乱码。详细如图所示。比如:鼠标选中的文本文档。

请问怎么解决这个问题???
多谢!

在linux端先把文件改成dos或者unix格式,
Linux提供了两种文本格式相互转化的命令:dos2unix和unix2dos
在linux中查看文件编码命令: set fileencoding
不建议用UTF-8格式编码,在命令行会出现不能显示中文的问题

如果是window端问题,请安如下步骤修改
在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。
如果想正确显示UTF-8字符,可以按照以下步骤操作:
1、打开CMD.exe命令行窗口
2、通过 chcp命令改变代码页,UTF-8的代码页为65001
chcp 65001
执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。
3、修改窗口属性,改变字体
在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。
这时使用type命令就可以显示UTF-8文本文件的内容了:
type filename.txt
4、通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。
参考技术A 这是一个非常常见的问题,linux中文乱码也是linux比较普遍的问题。因为在windows下文件信息的字符集是unicode,但linux下默认的是utf-8,所以会出现乱码。你把文件传到linux里以后,要对这些文件进行相应的转换,将文件信息改一下字符集。
我知道的只是这个原理,你可以在网上搜一搜相关教程,我当时就是按网上说的做的,乱码都正常了。你也试试吧,那些命令,我没记脑子里。本回答被提问者采纳
参考技术B 删了中标,改装别的。

编码问题不好解决。我一般是改用英文文件名,或者试试你把要传过去的东西压缩一下发过去,虚拟机里面解压缩。
不然就找个支持设置编码的 ssh 客户端,putty 的 pscp 貌似有编码设置(我没用过……)。把编码设置成你的虚拟机里面的编码就行了。虚拟机里面的编码开一个终端,locale 一下就知道了。
参考技术C 那是因为linux 没支持 utf-8 编码 你可以使用putty这个shell 登录端 他可以显示出来在Linux上的中文字符 参考技术D 1,让你的linux系统内支持中文字符。
2,在ssh中应该有关于传输编码的设置项,设置成utf-8,即可!

262pscp命令 实现windows与linux互传文件

首先将pscp.exe文件放在某个文件夹中

新建*.bat文件

w-wx.bat代码

@echo  off
pscp.exe -pw l*****h D:\\Windows-Linux\\Data\\* ocean@192.168.14.28:/home/ocean/alex/Others/Linux-Windows/Data
pause

w-xw.bat代码

@echo  off
pscp.exe -pw l*****h ocean@192.168.14.28:/home/ocean/alex/Others/Linux-Windows/Data/* D:\\Windows-Linux\\Data\\
pause

注释:其中-pw后面为密码

参考:pscp命令 实现windows与linux互传文件

参考:putty pscp pftp用法学习

 

以上是关于linux与windows 互传的文件,中文名称出现乱码的主要内容,如果未能解决你的问题,请参考以下文章

安装lrzsz 实现windows与linux之间文件互传

SecureCRT在linux与windows本地互传文件

Linux 与 Windows 文件互传(VMWare)

xshell上windows和linux互传文件命令

利用pscp命令实现linux与windows文件互传

262pscp命令 实现windows与linux互传文件