我注意到Pod::Usage pod2man
,甚至pod2markdown
在其输出中对某些字符进行了错误的编码。这些程序将版权符号编码为单个字节0xA9
,这是它的 Unicode 代码点以及它的 iso-8859-1 和 cp1252 编码,而不是它应该是多字节的 utf-8 编码0xCA:0xA9
。
这个问题与Pod::Escapes
我更新到版本 1.07(最新版本)和utf8::unicode_to_native
(我找不到)有关。
查看Pod::Escape
,%Name2character_number
哈希将密钥设置为正确copy
的 unicode 字符点0xA9
( 169
)。
但是,哈希从子例程%Name2character
中得到了错误的表示。utf8::unicode_to_native
事实上,所有的 Unicode 字符代码0x80
都0xFF
被设置为它们的单字节表示,而不是 utf-8 编码。以上所有字符0xFF
均已正确设置。
有没有办法解决这个问题?我在 Mac OS X 10.10 (Yosemite) 上运行 Perl 5.18.2,它本身就是 utf-8。