日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > 解決Linux與Windows文件顯示亂碼的問題

          解決Linux與Windows文件顯示亂碼的問題

          發(fā)布人:電子禪石 時間:2020-01-04 來源:工程師 發(fā)布文章

          重點:如果windows 下和虛擬機共享文件,先將文件移到其他位置使用notepad++ 改變編碼模式為UTF-8,然后復制到共享目錄,然后用編輯器打開中文就不是亂碼了。

          問題:

          • 在Windows下用matlab寫的代碼(.m)文件復制到Linux(Ubuntu)下,注釋的中文全是亂碼

          • 反之,也是一樣

          原因:
          Windows下默認使用的是GB2312編碼,Linux默認使用的是UTF-8。 所以在Windows下產(chǎn)生的代碼是GB2312編碼,在Linux下當然識別為亂碼 ; 反之,同理亂碼 。
          解決方法:

          1、直接對文件編碼格式的轉(zhuǎn)碼,需要不斷使用命令
          使用linux下的iconv 命令改變文件的編碼:
          test1.m由GB2312轉(zhuǎn)換成UTF-8(windows下matlab的代碼在linux下運行)

            iconv  -f  GB2312  -t  UTF-8  test1.m  -o  test1.m    

          test2.m由UTF-8轉(zhuǎn)換成GB2312(linux下matlab的代碼在windows下運行)

            iconv -f  UTF-8  -t  GB2312  test2.m  -o  test2.m

          如果文件過多,要進行批處理,可用如下編寫的shell腳本批量轉(zhuǎn)換編碼。(腳本來自linux公社,點擊我立刻下載)
          使用方法: 將該腳本放在需要進行轉(zhuǎn)換的文件夾中, 執(zhí)行腳本,可以將當前目錄和其子目錄下的所有文件轉(zhuǎn)換成指定的編碼方法 。
          執(zhí)行如下:
          由GB2312轉(zhuǎn)換成UTF-8

            ./convertMatlab.sh   win

          由UTF-8轉(zhuǎn)換成GB2312

            ./convertMatlab.sh  linux

          提示: 普通用戶沒有執(zhí)行權(quán)限,需要用chmod +x convertMatlab.sh 增加執(zhí)行權(quán)限
          附:Shell腳本(convertMatlab.sh)
          #!/bin/bash
          # 功能:將GB2312文件 轉(zhuǎn)換成 UTF-8【解決Windows文件復制到Linux之后亂碼問題】
          #read -p "Input Path:" SPATH
          SPATH="."
          #echo $SPATH
          POSTFIX="m"
          param1="$1"
          if [ "$param1" == "win" ];then
             sys1="Linux"
             sys2="Windows"
             format1="UTF-8"
             format2="GB2312"
          elif [ "$param1" == "linux" ];then
             sys1="Windows"
             sys2="Linux"
             format1="GB2312"
             format2="UTF-8"
          else
             echo "************** 功能 ************"
             echo "  解決matlab腳本文件在Windows和Linux中移動時出現(xiàn)的亂碼問題!"
             echo "  將該腳本復制到程序文件夾中,運行該腳本,它會對當前文件夾及子文件夾中的所有*.m文件進行格式轉(zhuǎn)換,解決亂碼問題。"
             echo "  轉(zhuǎn)換到 Linux 的命令: $0 linux"
             echo "  轉(zhuǎn)換到 Window的命令: $0 win"
             exit
          fi
          echo "********************************"
          echo "  格式轉(zhuǎn)換中......"
          echo "  從"$sys1"("$format1") 轉(zhuǎn)換到 "$sys2"("$format2")"
          echo "********************************"

          FILELIST(){
          filelist=`ls $SPATH `
          for filename in $filelist; do
              if [ -f $filename ];then
                  #echo File:$filename
                  #echo "${filename#*.}"
                  EXTENSION="${filename#*.}"
                  #echo $EXTENSION
                  if [ "$EXTENSION" == "$POSTFIX" ];then
                     #echo "${filename%%.*}"
                     echo Processing: $filename
                     iconv -f $format1 -t $format2 $filename -o $filename
                     #iconv -f GB2312 -t UTF-8 $filename -o $filename
                  fi
              elif [ -d $filename ];then
                  cd $filename
                  SPATH=`pwd`
                  #echo $SPATH
                  FILELIST
                  cd ..
              else
                  echo "$SPATH/$filename is not a common file."
              fi
          done
          }
          cd $SPATH
          FILELIST
          echo "======== Convert Done. ========"
          1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
          2、設(shè)置編輯器的編碼方式,一步到位(但也取決于你的編輯器或者IDE)
          VIM:
          用editplus時,用“另存為…”保存文件時,可以手工選擇編碼類型:ANSI、Unicode、UTF-8等。在用VIM時如何設(shè)置文件的編碼類型呢。在vim中,缺省情況下都會按ANSI方式保存,有時我們用vim編寫一些jsp文件時,一不小心,就容易犯錯誤了,因為在我們的開發(fā)團隊中,是統(tǒng)一使用utf-8編碼的,如果用ansi方式保存了,在網(wǎng)頁的顯示時就會出現(xiàn)亂碼問題。
            所以如果不清楚自己的缺省編碼設(shè)置,可以手工輸入設(shè)置命令:
            :set fileencoding=utf-8
            然后再保存就行了:
            :w
            這樣無論之前的編碼是什么,都會轉(zhuǎn)換成utf-8保存。
            如果希望缺省保存方式就是utf-8,就需要在_vimrc中加入以下設(shè)置:
            set encoding=utf-8
            set fileencoding=utf-8
            set fileencodings=ucs-bom,utf-8,chinese
            把這三行放在_vimrc的最開始的位置比較好。
          參考:http://www.wangchao.net.cn/bbsdetail_1631847.html
                     關(guān)于vim中編碼的細節(jié)問題,推薦另一篇文章,原文地址:http://edyfox.codecarver.org/html/vim_fileencodings_detection.html
          Nodepad++:

          在nodepad++上修改一下格式里面的編碼方式中文注釋沒有亂碼了 

          1.jpg————————————————
          參考:http://forum.ubuntu.org.cn/viewtopic.php?f=21&t=133898
                   https://blog.csdn.net/awkwardgirl/article/details/24018427原文鏈接:https://blog.csdn.net/edward_zcl/article/details/80180979


          *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



          關(guān)鍵詞:

          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉