如何使用NCurses打印Unicode?

如何使用NCurses打印Unicode?,unicode,encoding,ncurses,raku,Unicode,Encoding,Ncurses,Raku,这张照片 �~X� 如何获取unicode☺而不是 #!/usr/bin/env perl6 use v6; use NCurses; my $win = initscr; my Str $s = "\x[263a]"; printw( $s ); nc_refresh; while getch() < 0 {}; endwin; #/usr/bin/env perl6 使用v6; 使用网络课程; 我的$win=initscr; 我的Str$s=“\x[263a]”; printw(

这张照片

�~X�
如何获取unicode
而不是

#!/usr/bin/env perl6
use v6;
use NCurses;

my $win = initscr;
my Str $s = "\x[263a]";
printw( $s );
nc_refresh;
while getch() < 0 {};
endwin;
#/usr/bin/env perl6
使用v6;
使用网络课程;
我的$win=initscr;
我的Str$s=“\x[263a]”;
printw($s);
nc_刷新;
而getch()<0{};
恩德温;

我和你一样-结果只是需要设置语言环境

#!/usr/bin/env perl6
use v6;
use NCurses;

use NativeCall;
my int32 constant LC_ALL = 6;          # From locale.h
my sub setlocale(int32, Str) returns Str is native(Str) { * }

setlocale(LC_ALL, "");
my $win = initscr;
my Str $s = "\x[263a]";
printw( $s );
nc_refresh;
while getch() < 0 {};
endwin;
#/usr/bin/env perl6
使用v6;
使用网络课程;
使用NativeCall;
my int32常数LC_ALL=6;#来自locale.h
我的子setlocale(int32,Str)返回Str为本机(Str){*}
setlocale(LC_ALL,“”);
我的$win=initscr;
我的Str$s=“\x[263a]”;
printw($s);
nc_刷新;
而getch()<0{};
恩德温;

这让我脸上露出笑容。。。和屏幕。☺

帮不了你,当我运行
LANG=C perl6-e'使用NCurses时;printw(“\x[263a]”;'我得到一个coredump。这与C有关,但在设置语言环境等方面可能会有所帮助: