首頁 > 運維 > linux運維 > linux中執行windows中編寫的檔案出現亂碼

linux中執行windows中編寫的檔案出現亂碼

王林
發布: 2019-12-03 11:43:30
原創
3117 人瀏覽過

linux中執行windows中編寫的檔案出現亂碼

問題:

在Windows下用matlab寫的程式碼(.m)檔案複製到Linux(Ubuntu)下,註解的中文全是亂碼,反之,也是一樣的問題。

#原因:

Windows下預設使用的是GB2312編碼,Linux預設使用的是UTF-8。所以在Windows下產生的程式碼是GB2312編碼,在Linux下當然辨識為亂碼 ;反之,同理亂碼 。

免費影片教學推薦:linux影片教學

解決方法:

直接轉碼檔案編碼格式。

使用linux下的iconv指令改變檔案的編碼:

test1.m由GB2312轉換成UTF-8(windows下matlab的程式碼在linux下運作)

iconv  -f  GB2312  -t  UTF-8  test1.m  -o  test1.m
登入後複製

test2.m由UTF-8轉換成GB2312(linux下matlab的程式碼在windows下運行)

iconv -f  UTF-8  -t  GB2312  test2.m  -o  test2.m
登入後複製

如果檔案過多,要進行批次處理,可用如下編寫的shell腳本批量轉換編碼。

使用方法: 將該腳本放在需要進行轉換的資料夾中, 執行腳本,可以將目前目錄和其子目錄下的所有檔案轉換成指定的編碼方法 。

執行如下:

由GB2312轉換成UTF-8

./convertMatlab.sh  win
登入後複製

由UTF-8轉換成GB2312

./convertMatlab.sh  linux
登入後複製

提示: 普通使用者沒有執行權限,需要用chmod x convertMatlab.sh 增加執行權限

相關文章教學推薦:linux教學

#

以上是linux中執行windows中編寫的檔案出現亂碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
centos7 - git的linux版本沒有centos的?
來自於 1970-01-01 08:00:00
0
0
0
學習Linux的先行知識
來自於 1970-01-01 08:00:00
0
0
0
Linux下連接資料庫
來自於 1970-01-01 08:00:00
0
0
0
Linux 批次修改檔名
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板