linux下curses中文乱码问题解决
今天心血来潮,在linux下试了一把curses 搞了个hello world 试了下,界面还好,但输出中文的时候就乱码了 查了写资料发现有两个地方需要注意: 1 字符集的设置,源代码中要#include <locale.h>,同时在main函数中 setlocale(LC_ALL,""); 参见:http://blog.sina.com.cn/s/blog_618786dd0100qjxu.html 2 编译时要选择宽字符集版本 gcc -o hello hello.c –lcursesw 而不是gcc -o hello hello.c –lcurses 参见:http://www.linuxsir.org/bbs/showthread.php?t=267078 具体是从网上找的资料如下: ,要在程序的开始调用setlocale函数来设置locale,如果使用系统默认的locale,就这样setlocale(LC_ALL,""); 对于UTF-8的字符和字符串,就可以像使用普通的字符和字符串那样使用了,不过对于strlen,要用wcslen()来代替(好像如果想要看一下一个字符串要占用多少列的空间,也要用wcswidth(),不过我不确定,我作了几次实验反回的都是-1,希望知道的朋友回个贴讲一下,谢谢了).
linux curses库使用:mark之,近期搞搞~~ http://wenku.baidu.com/view/264d99d6b14e852458fb57a7.html
|
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |