红烧鱼头 发表于 2023-11-16 10:39:50

关于解决MDK汉字兼容问题的尝试及疑问

前言:



MDK有无法显示中文字符的问题,众所周知,最简单的方法是在Encoding里面把编码方式改为GB2312。
如图1:



但是,因为我比较喜欢把代码的格式设置为Consolas,而编码方式设为GB2312之后代码的格式和中文一样都变成了宋体。这当然不影响使用,如果可以的话,我还是希望能把代码的字体设为自己更加中意的样子。
如图1-1:



正文:


偶然的机会,我发现不改编码方式,也就是使用默认的ANSI,也是可以显示中文的。
如图2:





方法如下:
直接点击右键,新建一个文本文档。
如图3:



更改文件名和后缀名。
如图4:



重点来了,先不要用MDK打开这个文件,而是直接双击打开文件,必须在里面输入一个任意的中文字符。
如图5:



保存。


然后在MDK里面添加这个文件。
如图6:



此时我发现,已经可以正常输入中文了。
如图7:



后续思考:


我试过只新建文件而不预先输入中文,这样添加进入工程之后还是不能显示中文。直接在MDK新建文件,那更加完全无法兼容中文。


查看新建的文本的格式,其实也不是ANSI,是UTF-8。
如图8:



所以,疑问来了,为什么用这种方法(即直接新建文本文档,并先输入一个中文)可以在不改变MDK编码方式的情况下,兼容中文字符?



lb1057907736 发表于 2023-11-16 11:16:11

不要强迫症,请专注于程序本身。所有的工具归根结底还是工具。

红烧鱼头 发表于 2023-11-16 12:09:37

lb1057907736 发表于 2023-11-16 11:16
不要强迫症,请专注于程序本身。所有的工具归根结底还是工具。

但是我对于其中“编码”的原理很感兴趣。

cjunrong 发表于 2023-11-16 12:10:43

lb1057907736 发表于 2023-11-16 11:16
不要强迫症,请专注于程序本身。所有的工具归根结底还是工具。

看着舒心,也是一种生产力。就像营造一个舒适的干活环境一样

wangyao 发表于 2023-11-16 13:34:17

统一使用utf-8就好了,设置随意设置字体,显示中文有而没有问题;目前是gb2312编码的可以其他工具转换成utf-8编码的

cctv180 发表于 2023-11-16 16:18:12

用vscode配上Keil VSCode Assistant插件不香么强烈推荐。

色彩高亮,智能补全,ai应有尽有。:lol:lol:lol

emwin 发表于 2023-11-16 20:02:46

我没有MDK,猜测可能是原生支持UTF-8吧

hqgboy 发表于 2023-11-17 08:34:12

主要是老产品头大,新开发可以直接选择UTF-8.

bitmek 发表于 2023-11-17 09:42:48

VSCODE可以把文件转成UTF8

红烧鱼头 发表于 2023-11-18 08:00:06

hqgboy 发表于 2023-11-17 08:34
主要是老产品头大,新开发可以直接选择UTF-8.

是的,主要是以前的项目没有注意到这些。

红烧鱼头 发表于 2023-11-18 08:05:30

cctv180 发表于 2023-11-16 16:18
用vscode配上Keil VSCode Assistant插件不香么强烈推荐。

色彩高亮,智能补全,ai应有尽有。:lo ...

好的:handshake
页: [1]
查看完整版本: 关于解决MDK汉字兼容问题的尝试及疑问