当我进入“Müller”时,屏幕上出现“M ?? ller”.我怎么能解决这个问题?
#!/usr/bin/env perl use warnings; use 5.012; use Term::ReadLine; my $term = Term::ReadLine->new( 'dummy' ); my $con = $term->readline( ': ' ); say $con; # On the screen: # : M��ller # Müller
解决方法
应用:utf8层到文件句柄STDIN和STDOUT,并将它们作为参数传递给Term :: ReadLine-> new():
binmode STDIN,':utf8'; binmode STDOUT,':utf8'; my $term = Term::ReadLine->new( 'dummy',\*STDIN,\*STDOUT );