你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

MDK5中文编译乱码,不是显示乱码哦。

[复制链接]
tianyingkeji 提问时间:2018-5-16 16:26 /
阅读主题, 点击返回1楼
收藏 评论22 发布时间:2018-5-16 16:26
22个回答
toofree 回答时间:2018-5-16 21:02:41
tianyingkeji 发表于 2018-5-16 18:19
应该不是你说的这种乱码的,因为你看到了C文件里并没有乱码。而是编译转换产生了错误,也就是说每个中文 ...

把你的现象描述清楚些,源码工程放上来。
你遇到的问题,并不是你认为的问题。
toofree 回答时间:2018-5-16 21:09:00
本帖最后由 toofree 于 2018-5-16 21:56 编辑

UTF8是unicode的一种体现形式,unicode汉字编码跟机内码,GB2312不一样。
用ultraedit打开,十六进制方式看一下。
看一下下面两张图有什么不同

傲游截图20180516215443.jpg

傲游截图20180516215528.jpg

测试工程附上:
Hello_arm_ANSI.rar (348.55 KB, 下载次数: 0)
feixiang20 回答时间:2018-5-17 00:16:16
你就先把编码格式换了看看情形,换个显示方式看看,也可以去参考【MDK5怎样设置,汉字就不会乱码】【Keil中的中文字体乱码解决方法】等资料看看

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

jjbboox 回答时间:2018-5-17 08:56:09
就是因为你的代码是UTF-8,所以才会这样的。你改成ANSI或者GB2312重新打字应该就会正常了。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

tianyingkeji 回答时间:2018-5-28 14:43:44
感谢大家的支持与热心,最近有点忙,没有及时回帖,问题已经解决,因为我的个人喜欢用eclipse写程序,而eclipse的文本编码是默认跟操作系统一致,而MDK默认确是ansi,所以在我尝试用notepad++单个文件修改编码类型,无效。后来统一修改编码格式后,问题解决。小问题也闹心啊。谢谢大家。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3 结贴奖励

查看全部评分

tianyingkeji 回答时间:2018-5-28 14:50:00
感谢大家大力支持,与鼎沸的回复。现在问题已经决绝了。我感觉这个问题只有做LCD开发,并且使用中文UI界面的朋友们会碰到。
TIM截图20180517104340.png
stm1024 回答时间:2018-5-28 17:10:13
这个问题一时半会儿也不好回答,但是你试试这样呢?就是定义一个char buffer,然后把GB2312汉字对应的字节丢进去,然后将这个buffer作为函数的最后一个变量,再编译试试看是什么效果?

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

tianyingkeji 回答时间:2018-6-7 12:05:11
stm1024 发表于 2018-5-28 17:10
这个问题一时半会儿也不好回答,但是你试试这样呢?就是定义一个char buffer,然后把GB2312汉字对应的字节 ...

多谢。
浅色调123 回答时间:2018-9-27 10:18:12
楼主我在开发OLED屏幕的时候,遇见了一模一样的问题。keil界面显示正常,但是编译后就乱码了。
问题是因为代码使用 notepad++新建的,而且新建格式默认是utf8。不管怎么在KEIL里面调gb2312配置是解决不了的,解决的根本就是重新新建一个 gb2312格式的.c文件添加到keil工程就行了。另外一定要注意notep++默认的文本类型是utf8的不是GB2312大坑
stm1024 回答时间:2018-9-27 11:39:52
编译器又不是编辑器

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版