問題:
在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中文網其他相關文章!