MATLAB与Git的恩怨(谈编码格式)

2019-10-17  本文已影响0人  遥远的清平湾

[原创,禁止转载。仅为个人理解,不正确之处欢迎讨论。]

从编码格式说起

Windows下MATLAB的.m文件默认采用GBK格式编码保存,这可以通过MATLAB里运行feature('locale')代码查看。
例如运行结果如下:

feature('locale')语句运行结果

GBK可以理解为中国特色社会主义编码,即为中国而量身打造的,那么它的通用性就不如UTF-8好。例如很多软件可能支持UTF-8,不支持GBK。这时用其他软件(例如Git管理工具GitKraken,代码编写工具VSCode)查看.m文件时就会出现中文乱码的问题。
例如这样:


GitKraken中乱码问题

解决方案

既然GBK不如UTF-8通用性好,那么自然而然我们就想到了让MATLAB以UTF-8编码格式保存和打开文件。
操作如下:

原理分析

MATLAB在中文Windows系统上默认采用GBK编码,那么我们在上面的配置文件里把名字叫GBK的部分从Codeset entry里的删了,并且在<encoding name="UTF-8">里加入<encoding_alias name="GBK"/>,意思是UTF-8的别名也叫GBK了。那么MATLAB在找GBK的时候,实际上找的是UTF-8,这样就按照UTF-8保存和打开文件了。

另外比较蛋疼的是,这么改完之后,MATLAB建立的文件用其他软件打开没有问题了,但是,MATLAB打开它以前用GBK格式保存的.m文件时,乱码了,码了,了。这个问题的解决方法是可以用文本文档、notepad++等软件打开,然后全选复制到MATLAB中(新建一个.m文件),再保存覆盖之前的老文件即可。或者用notepad++可以直接将GBK、GB2312等格式转为UTF-8格式。

关于机器学习、算法、Python、计算机等更多内容,请关注微信公众号:

学无止境也
上一篇下一篇

猜你喜欢

热点阅读