zoukankan      html  css  js  c++  java
  • Linux学习23-Xftp上传文件显示乱码问题

    前言

    当我们在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)显示工具的编码
  • 相关阅读:
    Call to a member function assign() on a non-object;thinkphp中报错
    jquery或js 获取url参数
    使Sublime Text支持除UTF8外多种编码
    Sublime Text 3 安装Package Control
    jquery zoom jquery放大镜特效
    金币阵列问题
    goole进不去?
    算法分析习题(1)
    C /C ++中结构体的定义
    linux .zip 解压命令集
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/11665365.html
Copyright © 2011-2022 走看看