永发信息网

RedHat中文乱码

答案:2  悬赏:0  手机版
解决时间 2021-02-27 16:23
  • 提问者网友:相思似海深
  • 2021-02-27 08:47
源码如下:

#include
#include

main()
{
char *out3="为什么是乱码呢[嫚]\n";

//setlocale(LC_ALL,"");
initscr();
cbreak();
mvaddstr(10,10,out3);
refresh();
endwin();
return 0;
}
~
编译语句: cc a.c -lncurses

如果是printf则可以正常显示

REDHAT AS3 下编译执行没有问题(编译好拿到5上也是乱码
REDHAT enterprise linux 5 下编译则"嫚"字显示乱码

如果设置setlocale,且curser的lib换为 -lncursesw则可以正常显示;但因为换为该lib后有大量修改,所以不想换,求乱码原因
最佳答案
  • 五星知识达人网友:洎扰庸人
  • 2021-02-27 09:20
你是怎么访问,用客户端访问,还是直接接显示访问出的问题,修改 / etc / sysconfig / i18n文件,将其改成以下内容:

LANG = " zh_CN.GB18030 "
LANGUAGE = " zh_CN.GB18030:zh_CN.GB2312:zh_CN "
SUPPORTED = " zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en "
SYSFONT = " lat0-sun16 "

4.
关于REDHAT LINUX乱码的问题
看看/etc/sysconfig/i18n
5.关于REDHAT LINUX乱码的问题
/etc/sysconfig/i18n里的LANG要设置成zh_CN
如果你在LINUX本机操作,在CONSOLE里,还需要安装ZHCON,这个软件类似DOS下的UCDOS汉字平台
6.关于REDHAT LINUX乱码的问题
在text mode 下只可能显示英文. 就算把 /etc/sysconfig/i18n 设定成任何语言, 都会出现乱码. 或者你可在 text mode安装中文外挂, jmcce, cce等.
最好都是返回x内看会较好.

修改 / etc / sysconfig / i18n文件,将其改成以下内容:

LANG = " zh_CN.GB18030 "
LANGUAGE = " zh_CN.GB18030:zh_CN.GB2312:zh_CN "
SUPPORTED = " zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en "
SYSFONT = " lat0-sun16 "

===========
全部回答
  • 1楼网友:空山清雨
  • 2021-02-27 09:51
#export lc_all="zh_cn.gb2312" 试试咧,或者#lang=c
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯