解决putty终端中显示linux系统中C编程使用curses中文乱码的有关问题

解决putty终端中显示linux系统中C编程使用curses中文乱码的问题

注意,我使用的系统及终端编码是UTF-8

1、引入本地头文件

  在main函数文件中添加#include <locale.h>头文件

2、改变引入的curses头文件

  将#include <curses.h>或#include <ncurses.h>改为#include <ncursesw.h>

  这时如果编译出错,显示没有ncursesw.h文件 ,则继续使用#include <ncurses.h>

3、改变gcc编译链接指令

  将gcc ..... -lcurses或gcc ..... -lncurses改为gcc ...... -lncursesw

4、设置本地字符编码(最重要的一点)

  一般是在main函数中,在初始化curses库的initscr()函数前先调用setlocale(LC_ALL,"")

  要特别注意前向顺序。