我正在学习Perl,在系统控制台中,我正在执行一个脚本,它显示了以下奇怪的字符:
open(my $fh, '<', 'teste') or warn $!
Arquivo ou diretório não encontrado at reply input line 1.消息应该是:Arquivo ou diretório não encontrado at reply input line 1.
我想是iso-8859-1。
我希望对所有UTF-8进行编码/解释,因此我已经学会了在源代码中放置以下行:
use open qw/:std :utf8/; # entrada e saída em utf8
use utf8; # código fonte em utf8在我的系统里我:
LANG=pt_BR.UTF-8
LANGUAGE=pt_BR:pt:en
LC_CTYPE=pt_BR.UTF-8
LC_NUMERIC="pt_BR.UTF-8"
LC_TIME="pt_BR.UTF-8"
LC_COLLATE="pt_BR.UTF-8"
LC_MONETARY="pt_BR.UTF-8"
LC_MESSAGES="pt_BR.UTF-8"
LC_PAPER="pt_BR.UTF-8"
LC_NAME="pt_BR.UTF-8"
LC_ADDRESS="pt_BR.UTF-8"
LC_TELEPHONE="pt_BR.UTF-8"
LC_MEASUREMENT="pt_BR.UTF-8"
LC_IDENTIFICATION="pt_BR.UTF-8"
LC_ALL=我的终端由油灰处理。
如何解决这个问题?
发布于 2016-06-29 14:16:44
这不是Perl,而是终端设置。
正如马特雅各布所指出的那样,终点站是可以的。
我刚做了一个测试,把注册表倒掉了:
regedit /ea "D:\putty.reg.old" HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions是翻译>远程字符集中putty的图形用户界面,默认情况下显示的是UTF-8编码。但它并没有被设定为。因此,我只需将其更改为任何编码,保存会话并再次将其保存到putty.reg中以进行文件比较。
fc putty.reg.old putty.reg
***** putty.reg.old
"Wordness224"="2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2"
"LineCodePage"=""
"CJKAmbigWide"=dword:00000000
***** PUTTY.REG
"Wordness224"="2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2"
"LineCodePage"="ISO-8859-1:1998 (Latin-1, West Europe)"
"CJKAmbigWide"=dword:00000000
*****现在我们看到"LineCodePage"="“是空的。选择UTF-8现在应该是有效的!
fc putty.reg.old putty.reg
***** putty.reg.old
"Wordness224"="2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2"
"LineCodePage"=""
"CJKAmbigWide"=dword:00000000
***** PUTTY.REG
"Wordness224"="2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2"
"LineCodePage"="UTF-8"
"CJKAmbigWide"=dword:00000000
*****让我们进入服务器并进行测试!
~(master ✗) perl -e 'open(my $fh, "<", "teste") or warn $!'
Arquivo ou diretório não encontrado at -e line 1.https://stackoverflow.com/questions/38083020
复制相似问题