Perl:解码";乱码;unicode字符串

Perl:解码";乱码;unicode字符串,perl,unicode,Perl,Unicode,我正在编写一个CGI脚本,它是从一个软件中调用的(我无法更改)。软件提交的变量给我带来了问题,因为如果它们包含非ascii字符,它们看起来如下所示: FFFFDEetta er texti meÿfffffff 0ÿffffdslenskum stÿfffffff 6fum 而不是 etta er texti meðslenskum stöfum 我尝试过使用Encode::decode函数,但没有任何效果-我所能做的就是改变ÿ的表示方式 所以是的,我有点被难住了。如何将所有的ÿFFFFDEs更

我正在编写一个CGI脚本,它是从一个软件中调用的(我无法更改)。软件提交的变量给我带来了问题,因为如果它们包含非ascii字符,它们看起来如下所示:

FFFFDEetta er texti meÿfffffff 0ÿffffdslenskum stÿfffffff 6fum

而不是

etta er texti meðslenskum stöfum

我尝试过使用
Encode::decode
函数,但没有任何效果-我所能做的就是改变
ÿ
的表示方式


所以是的,我有点被难住了。如何将所有的
ÿFFFFDE
s更改为
Þ
s等等,而不单独替换每个非ascii字符(这不是一个解决方案,因为这需要对我甚至不会说的语言起作用)?

您的脚本似乎正在处理八位字符。您的CGI和调用程序之间有软件吗?您是如何配置CGI来处理Unicode的?太好了!非常感谢。这是我逃避的unicode越狱。
use Encode qw(decode);
use Encode::Escape qw();

$_ = 'ÿFFFFDEetta er texti meÿFFFFF0 ÿFFFFEDslenskum stÿFFFFF6fum';
s/ÿFFFF/\\x/g;
decode('iso-8859-1', decode('unicode-escape', $_));
# returns 'Þetta er texti með íslenskum stöfum'