PMON输入汉字的问题
本帖最后由 sigaofeng 于 2016-4-29 15:07 编辑在PMON中输入汉字
在PMON中输入汉字"大"
PMON回显了
输入"的"
PMON回显了
在pmon的main函数中循环执行get_cmd(),do_cmd();get_cmd()函数调用get_line()函数,在get_line()中调用getchar();我们显示getchar()得到的内容,把getchar()得到的内容通过printf()打印到屏幕上 本帖最后由 sigaofeng 于 2016-5-3 13:15 编辑
pmon的编译见帖子http://www.openloongson.org/foru ... =208&extra=page%3D1
烧入nor flash,运行龙芯1c开源板
输入"大" pmon在回显 65e24$27' "大"的utf-8编码是E5 A4 A7 每个字节的高位被pmon处理后置为0后成了 65 24 27
本帖最后由 sigaofeng 于 2016-5-3 10:43 编辑
我们找到处理的函数(scandevs()),更改后即可回显汉字同时把pmon/lib/libc/fgetc.c中char关键字更改为unsigned char
果然厉害! 汉字的输出问题
把getchar()得到的内容加入printf("在取得命令")语句,打印一串汉字到屏幕上 本帖最后由 sigaofeng 于 2016-5-3 14:53 编辑
什么情况乱码???
原来gcc编译时在makefile.inc中使用了charset=GB2312选项,更改为charset=UTF-8就行了
汉字编码问题见,字符编码的前世今生-腾讯大讲堂
http://djt.qq.com/article/view/658
makefile.inc 跟踪汉字命令进入get_cmd(),和get_line()
跟踪get_cmd()
在get_cmd()函数中的get_line(p,1)语句后加入printf("%s",p);
显示汉字命令能够进入get_cmd()函数,并能进入历史命令列表
页:
[1]
2