首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用mojibake生成错误消息

用mojibake生成错误消息
EN

Stack Overflow用户
提问于 2016-06-28 17:49:47
回答 1查看 43关注 0票数 1

我正在学习Perl,在系统控制台中,我正在执行一个脚本,它显示了以下奇怪的字符:

代码语言:javascript
复制
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进行编码/解释,因此我已经学会了在源代码中放置以下行:

代码语言:javascript
复制
use open qw/:std :utf8/; # entrada e saída em utf8                                                                                         
use utf8; # código fonte em utf8

在我的系统里我:

代码语言:javascript
复制
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=

我的终端由油灰处理。

如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-29 14:16:44

这不是Perl,而是终端设置。

正如马特雅各布所指出的那样,终点站是可以的。

我刚做了一个测试,把注册表倒掉了:

代码语言:javascript
复制
regedit /ea "D:\putty.reg.old" HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions

是翻译>远程字符集中putty的图形用户界面,默认情况下显示的是UTF-8编码。但它并没有被设定为。因此,我只需将其更改为任何编码,保存会话并再次将其保存到putty.reg中以进行文件比较。

代码语言:javascript
复制
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现在应该是有效的!

代码语言:javascript
复制
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
*****

让我们进入服务器并进行测试!

代码语言:javascript
复制
~(master ✗) perl -e 'open(my $fh, "<", "teste") or warn $!'
Arquivo ou diretório não encontrado at -e line 1.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38083020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档