我有一个处理 Unicode 文本操作的项目。我正在使用 Perl 5.014 和 Padre 调试器 v 0.86(这是 ActiveState Perl 发行版的最新 Padre 版本)。
在 Padre 中,能够在右侧的“调试器” Pane 中查看(检查/检查)程序变量非常重要,尤其是 Unicode 字符串。事实证明,调试器 Pane 没有在其字符字形中显示字符串。对于标量,它会显示乱码,而对于数组,它会以“\x{05FF}”表示法显示它们,这是神秘且不直观的。有没有办法让 Padre 在正确的字形中显示字符串?去:“查看 - >语言”并更改语言无济于事。它只影响菜单。
请注意,在 Padre 编辑器中,Unicode 文字显示正确。

我正在运行 Windows 7 x64。
我在程序中确实有这些:

use utf8;
...
binmode(STDOUT, ":unix:utf8");
binmode $DB::OUT, ':unix:utf8' if $DB::OUT;
...

最佳答案

作为旁注,您可能不想要 binmode 的 :utf8 层。它断言您的数据是 UTF-8,但实际上并没有对其进行验证。你想要 :encoding(UTF-8) 。事实上,在 http://www.perlmonks.org/?node_id=644786 中描述了 :utf8 层的概念安全漏洞证明。

不幸的是,一些 Perl 文档在这个问题上不是很清楚。

关于perl - Padre:如何检查/检查 Unicode 字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9440233/

10-11 09:14