在Matlab里复制代码到word产生中文乱码的恢复方法
在Matlab下复制代码到word下,因西文字体缺失中文字符(尽管matlab里可以正常
看到中文),其中的中文注释复制到word文件后会变成字母型乱码,如下所示:
Word界面下中文注释乱码
面对这类乱码,如何解救?
根据发现的时间不同,这里提供两个方法:
1)复制时产生
在matlab的界面是这样的:
Matlab界面
复制到word后,是这样的
Word界面
在复制的文字最后,有一个这样的图标:,用鼠标点击它,或者按Ctrl键,便
弹出:,选择,中文便不会再乱码,如下图所示:
这样虽失去了原有格式,但中文不再乱码了。如果你不嫌麻烦,可以在乱码的基础上,
对乱码一个一个手动更改,这样就不会变更格式,但太麻烦了,不是么?
2)已经保存的word
不小心保存了乱码文件,或者网上下载的word就包含前面所说的乱码。在找不到原代
码(m文件等)的情况下,对于word下已经形成的中文乱码,如何修复成中文?
这里有一个办法:
安装UltraEdit,或者类似软件,打开它,在设置?文件处理?编码中是ANSI和简体
中文,如下图所示。(此编码是windows下matlab命令框和m文件使用的编码;若是linux
下的matlab,则是UTF8。这里只针对windows下的matlab。)
确认编码后,然后在文件栏新建文件,先不复制文字进来,另存为txt格式文件,编码
选择ANSI/ASCII,然后保存它。
然后在word将含乱码的m文件代码复制到上图空的sample.txt(或你设定的名字),保
存它,这时在UltraEdit内看到的乱码和word上看到的是一样的,表明乱码对应的编码信
息没有被破坏。这时,就可以关闭UltraEdit,以windows默认的记事本(简体中文状态或
支持简体中文的条件下),看到的就不是乱码而是中文注释了。
UltraEdit界面
记事本界面
如果要保留word里原来含乱码的matlab代码的格式,可将里面的注释乱码一个一个换
成相应记事本txt里的中文注释就可以了。如果觉得这样麻烦,可以将全部代码替换成记事
本txt中的字符,这样可能不再保留原有格式。
另外,相应的txt已经将后缀改为m,则可以在matlab中打开,中文注释不含乱码,代
码本身是OK的话,也能正常运行哦!
注意:
如果UltraEdit新建文件在另存为之前就将含乱码的代码字符复制粘贴进来,然后再按
上面的方法另存为txt文件,这时txt中的乱码有可能会转换为对应的编码保存下来。在这
种情况下用记事本打开是恢复不了对应的中文的。需要在UltraEdit里对这个文件再一次粘
贴相应的字符进来,点击保存后,乱码部分和word里面看到的是一样现象,这时用记事本
打开,才能正常显示中文。