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)顯示工具的編碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM