Matlab 漢字亂碼問題
matlab字符亂碼顯示處理:
默認設置為“桌面代碼”,有時候可以解決亂碼問題
其他處理方法:
1. 靠譜一點的是這樣的:
先在命令窗口執行命令:
然后發現是系統的locale設置和user的不一致,也就是你系統的都是英文的但是你這個文件里面有中文的編碼,所以顯示就不對了。我執行的結果也是這樣的。
然后該教程(參考1)的后面就是教你怎么去設置相關的參數,然后最后解決問題,可是我都按照他的來了,卻不行。
2.還有這種玄學的
反正我就是不知道什么原因,照我這么做一遍就對了(參考2)
最后總結一句話:matlab中文亂碼,請先在記事本里輸入中文,然后復制到matlab里,只需要第一次這樣做了,以后你就可以在任意m文件的任意一行輸入中文注釋了。不要問我為什么,因為我也不知道。。
然並卵。。。
3. 接近答案的方法
還有一種就是給我提供了解決問題思路的,很接近答案的方法(參考3)。
在經過多次查找方法未果之后,終於發現了MATLAB讀取區域設置只是跟系統區域中的“格式(Format)”設置有關:
當格式設置成英文的時候,MATLAB便會讀取相應的區域。所以解決方法便是在格式中選擇"Chinese (Simplified, China)",所有亂碼便解決了。
這個確實是對的,只不過只這么做的話還不夠,還要另外設置一個選項:
將Administrative選項的Language for non-Unicode programs 設置成簡體中文就ok了
接下來我按照參考1的方法在此檢驗了一下自己MATLAB的locale值顯示如下,警告那一欄就已經沒了。然后點開有中文注釋的程序,顯示正常了。
>> feature('locale') ans = 包含以下字段的 struct: ctype: 'zh_CN.GBK' collate: 'zh_CN.GBK' time: 'zh_CN.GBK' numeric: 'en_US_POSIX.GBK' monetary: 'zh_CN.GBK' messages: 'zh_CN.GBK' encoding: 'GBK' terminalEncoding: 'GBK' jvmEncoding: 'GBK' status: 'MathWorks locale management system initialized.' warning: ''
總結
1. 遇上英文版的64位的win10系統下裝的英文版MATLAB編輯器中中文注釋顯示不對的情況,可以先用feature('locale')命令檢驗一下是否是自己系統的locale settling和軟件的user settling不一致導致的。是的話就需要修改參數。
2. 將自己電腦系統的時區格式設置成中文的格式,另外在Administrative選項下的Language for non-Unicode programs選項中修改系統的locale值為簡體中文,注意不要勾選beta選項,不然會導致一些其他的帶中文顯示的程序出現異常。
參考:https://zhuanlan.zhihu.com/p/39298076