前言

当我们在windows新建一个文件,里面有中文时,使用Xftp上传到linux服务器上,会出现乱码问题。

  • Windows的默认编码为GBK
  • Linux的默认编码为UTF-8

Xftp上传文件乱码

现在 windows 电脑上新建一个txt文件,命名为"中文.txt", 并且写入中文内容:上海-悠悠。

使用 xhsell 的 xftp 工具上传到linux服务器上

首先在xftp上传页面,并没有出现乱码问题

在linux上查看时,却出现乱码了

[root@yoyo docker-run]# ll
-rw-r--r-- 1 root root 422 Aug 23 00:15 test_h.py
-rw-r--r-- 1 root root 9 Oct 13 10:11 ????.txt
-rw-r--r-- 1 root root 10 Oct 13 09:55 yoyo.txt

出现这个问题主要原因是因为Windows上默认的GBK编码,Linux默认的是UTF-8,另外Xftp传输工具的编码也得设置下

Xftp 设置编码

打开 Xftp 工具,设置属性-编码格式-勾选 UTF-8 格式

再重新上传文件,查看

[root@yoyo docker-run]# ll
-rw-r--r-- 1 root root 9 Oct 13 10:21 中文.txt
[root@yoyo docker-run]# cat 中文.txt
???-??[root@yoyo docker-run]#

这时候虽然文件名能显示中文了,但是里面的内容还是乱码。解决办法,把windows的源文件编辑的内容设置UTF-8格式

源文件编码UT-8

因为windows系统上的txt文件,左上角选择文件-另存为,会发现文件默认ANSI编码

解决办法1:可以在另存为的时候,修改编码格式为UTF-8,保存。

解决办法2:可以使用一些编辑器写文件内容,比如pycharm等。

修改好之后,重新上传过去,查看就可以正常的显示中文了

[root@yoyo docker-run]# ll
-rw-r--r-- 1 root root 18 Oct 13 10:28 中文.txt
[root@yoyo docker-run]# cat 中文.txt
上海-悠悠
[root@yoyo docker-run]#

Xshell编码设置

如果Xshell 终端页面在查看日志时候,中文显示乱码,需要改下Xshell的设置(一般默认就是UTF-8编码)。

打开Xshell终端-左上角文件-属性-终端-编码-勾选UTF-8

总结:保证三个地方编码(UFF-8)一致即可

  • 源文件(xxx.txt)的编码
  • 上传工具(Xftp)的编码
  • 终端(Xshell)显示工具的编码

Linux学习23-Xftp上传文件显示乱码问题的更多相关文章

  1. xftp上传文件到虚拟机linux失败问题

    如果想通过xftp上传文件到虚拟机linux时,可能会产生上传失败的问题 原因: 因为有些文件是只可读,所以要修改文件权限,可读可写,才可以上传成功. 解决方法: 第一种方法:用xftp连接虚拟机后, ...

  2. ajax上传文件显示进度

    下面要做一个ajax上传文件显示进度的操作,文末有演示地址 这里先上代码: 1.前端代码 upload.html <!DOCTYPE html> <html lang="e ...

  3. Linux学习22-文件上传与下载(rz,sz)

    前言 远程访问linux服务器的时候,我们本地电脑需要和linux服务器上有文件上传和下载的操作,如果安装过xshell和xftp工具,可以使用xftp上传文件和下载文件的操作. 如果不用xftp工具 ...

  4. Linux中ftp不能上传文件/目录的解决办法

    在linux中不能上传文件或文件夹最多的问题就是权限问题,但有时也不一定是权限问题了,像我就是空间不够用了,下面我来总结一些ftp不能上传文件/目录的解决办法   在排除用户组和权限等问题后,最可能引 ...

  5. axios+Vue上传文件显示进度

    一,前言 最近在用Vue,然后上传文件时需要显示进度,于是网上搜了一下,经过自己实测终于也弄明白了 二,效果 三,代码 HTML代码 <div id="app"> &l ...

  6. HTML5上传文件显示进度

    下面我们使用Html 5的新特性file api实现上传文件,并显示上传文件进度百分比.意图是这样的,当选择文件时,显示当前文件信息.这里我们是结合Asp.net MVC做为服务端,您也可以是其它的服 ...

  7. windows、linux下通过ftp上传文件小脚本

    一.windows @echo off #open ip 将要上传文件的IP地址echo open IP>ftp.up #用户名echo ninic>>ftp.up #密码echo ...

  8. Xsheel远程链接ECS,Xftp上传文件到ECS

    下载Xshell 工具:用来远程实现远程访问. 下载Xftp工具:方便用来上传文件. 下载方式直接百度搜索,如下如: 下载完成之后安装. 接下来就是链接云服务器了. 直接百度经验按照步骤来就OK了,如 ...

  9. Linux服务器下载与上传文件

    一.图形化工具 FileZilla.SecureCRT,连接Linux服务器后直接操作 二.命令 使用终端模拟软件连接服务器后,首先安装lrzsz工具包 yum install lrzsz rz ,上 ...

随机推荐

  1. CountDownLatch源码

    public class CountDownLatchExample1 { public static void main(String[] args) throws Exception { Exec ...

  2. Linux文件内容查看相关命令

    1.more命令 在Linux中,more命令是一个基于vi编辑器的文本过滤器,它能以全屏的方式按页显示文本文件的内容,more里面内置了一些快捷键. (1)命令语法 more(选项)(参数) (2) ...

  3. scrapy中间件中发送邮件

    背景介绍:之前写过通过通过scrapy的扩展发送邮件,在爬虫关闭的时候发送邮件.那个时候有个问题就是MailSender对象需要return出去.这次需要在中间件中发送邮件,但是中间件中不能随便使用r ...

  4. FEL表达式的用法

    Fel是开放的,引擎执行中的多个模块都可以扩展或替换.Fel的执行主要是通过函数实现,运算符(+.-等都是Fel函数),所有这些函数都是可以替换的,扩展函数也非常简单. Fel有双引擎,同时支持解释执 ...

  5. 动态代理(二)—— CGLIB代理原理

    前篇文章动态代理(一)--JDK中的动态代理中详细介绍了JDK动态代理的Demo实现,api介绍,原理详解.这篇文章继续讨论Java中的动态代理,并提及了Java中动态代理的几种实现方式.这里继续介绍 ...

  6. <More Effective C#: 改善C#代码的50个有效方法>中文版翻译答疑

    最近, 有一本很赞的.NET技术书中文版出版了 - <More Effective C#: 改善C#代码的50个有效方法>.    从广州\西安\长沙\上海等各地.NET俱乐部都收到反馈, ...

  7. 在window中安装Docker,并生成CentOS镜像

    下载并安装windows docker 修改镜像本地保存地址             

  8. springboot初体验-不知道怎么创建spring-boot项目?

    https://spring.io/projects/spring-boot/ 在以上地址找到 Quick start Bootstrap your application with Spring I ...

  9. APS.NET MVC + EF (00)---C#基础

    命名参数 命名参数是把参数附上参数名称,这样在调用方法的时候不必按照原来的参数顺序填写参数,只需要对应好参数的名称也能完成方法调用. static void Main(string[] args) { ...

  10. Eclipse集成Git做团队开发:代码管理

    在日常开发工作中,我们通常使用版本控制软件管理团队的源代码,常用的SVN.Git.与SVN相比,Git有分支的概念,可以从主分支创建开发分支,在开发分支测试没有问题之后,再合并到主分支上去,从而避免了 ...