Perl 如何将非英语字符打印到终端?
我想打印此字符串,因为它正在使用编码。您需要该语句Perl 如何将非英语字符打印到终端?,perl,encoding,utf-8,Perl,Encoding,Utf 8,我想打印此字符串,因为它正在使用编码。您需要该语句 my $star = 'इस परीक्षण के लिए है'; 在程序的顶部,告诉perl脚本是用UTF-8编码的。你也可以写 use utf8; 使UTF-8成为默认输出编码 您的终端必须期望UTF-8输出。在Linux上,您应该检查LC\u TYPE环境变量 use open qw/ :std :encoding(UTF-8) /; 这通常应该是UTF-8,但如果不是,您可以更改它 在Windows上,这是通过代码页完成的。使用
my $star = 'इस परीक्षण के लिए है';
在程序的顶部,告诉perl脚本是用UTF-8编码的。你也可以写
use utf8;
使UTF-8成为默认输出编码
您的终端必须期望UTF-8输出。在Linux上,您应该检查LC\u TYPE
环境变量
use open qw/ :std :encoding(UTF-8) /;
这通常应该是UTF-8
,但如果不是,您可以更改它
在Windows上,这是通过代码页完成的。使用chcp
命令检查并更改它
现在,如果您的终端使用的字体覆盖了您想要显示的字符,您应该能够只打印$star,让文本显示在终端上您需要语句
my $star = 'इस परीक्षण के लिए है';
在程序的顶部,告诉perl脚本是用UTF-8编码的。你也可以写
use utf8;
使UTF-8成为默认输出编码
您的终端必须期望UTF-8输出。在Linux上,您应该检查LC\u TYPE
环境变量
use open qw/ :std :encoding(UTF-8) /;
这通常应该是UTF-8
,但如果不是,您可以更改它
在Windows上,这是通过代码页完成的。使用chcp
命令检查并更改它
现在,如果您的终端使用的字体覆盖了您想要显示的字符,您应该能够只
打印$star
,让文本显示在终端上您使用的是哪个终端?如果终端处理UTF8,您应该能够将变量打印到标准输出。请参阅我使用的是linux终端和windows终端您使用的是哪个终端?如果终端处理UTF8,您应该能够将变量打印到标准输出。请看我在使用linux终端和windows终端+1。应该注意的是,如果在windows上使用cmd.exe
,您将遇到以下问题。将STDOUT
设置为使用似乎有帮助。使用控制台容器(如)将掩盖问题,文件输出将正常工作。另外,当控制台设置为代码页65001时,键盘输入将无法正常工作。etc等+1应该注意的是,如果在Windows上使用cmd.exe
,您将遇到。将STDOUT
设置为使用似乎有帮助。使用控制台容器(如)将掩盖问题,文件输出将正常工作。另外,当控制台设置为代码页65001时,键盘输入将无法正常工作。等等。