2016-02-24 17 views
5

này inLàm thế nào để in Unicode với NCurses?

�~X� 

Làm thế nào tôi có thể nhận được các unicode để thay thế?

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

my $win = initscr; 
my Str $s = "\x[263a]"; 
printw($s); 
nc_refresh; 
while getch() < 0 {}; 
endwin; 
+0

Không thể giúp bạn, khi tôi chạy 'LANG = C perl6 -e 'sử dụng NCurses; printw ("\ x [263a]"); ''Tôi nhận được một coredump. – neuhaus

+0

Điều này liên quan đến C, nhưng có thể hữu ích, trong việc thiết lập Locale và như vậy: http://stackoverflow.com/questions/4703168/adding-unicode-utf8-chars-to-a-ncurses-display-in- c – mikeyq6

Trả lời

3

Tôi đã nhận được giống như bạn - hóa ra chỉ cần thiết để đặt ngôn ngữ;

#!/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; 

Điều đó đặt một nụ cười trên khuôn mặt ... và màn hình. ☺

Các vấn đề liên quan