2014-06-10 20 views
12

Tôi có một tập tin văn bản POD đơn giản:Tại sao perldoc đánh giá 'Münster' là 'Muenster'

$ cat test.pod 
=encoding UTF-8 

Münster 

Nó được mã hóa theo UTF-8, theo bãi này hex đen của file:

00000000 3d 65 6e 63 6f 64 69 6e 67 20 55 54 46 2d 38 0a |=encoding UTF-8.| 
00000010 0a 4d c3 bc 6e 73 74 65 72 0a     |.M..nster.| 
0000001a 

Chữ "ü" đang được mã hóa dưới dạng hai byte C3 và BC.

Nhưng khi tôi chạy perldoc trên tệp, nó sẽ biến các ký tự UTF-8 được định dạng đáng yêu của tôi thành ASCII.

Hơn nữa, nó xử lý chính xác quy ước tiếng Đức đại diện cho "ü" là "ue".

$ perldoc test.pod | cat 
TEST(1)    User Contributed Perl Documentation    TEST(1) 

Muenster 

perl v5.16.3      2014-06-10       TEST(1) 

Tại sao lại thực hiện việc này?

Có một tuyên bố bổ sung nào tôi có thể đưa vào tệp của mình để ngăn không cho nó xảy ra không?


Sau khi điều tra bổ sung với App::perlbrew tôi đã tìm thấy sự khác biệt xuất phát từ việc có một phiên bản đặc biệt của Pod :: perldoc.

perl-5.10.1 3.14_04 Muenster 
perl-5.12.5 3.15_02 Muenster 
perl-5.14.4 3.15_04 Muenster 
perl-5.16.2 3.17  Münster 
perl-5.16.3 3.19  Muenster 
perl-5.16.3 3.17  Münster 
perl-5.17.3 3.17  Münster 
perl-5.18.0 3.19  Muenster 
perl-5.18.1 3.23  Münster 

Tuy nhiên tôi vẫn muốn, nếu có thể, cách tạo Pod :: Perldoc 3.14, 3.15 và 3.19 hoạt động "chính xác".

Trả lời

6

Tìm thấy vé này RT http://rt.cpan.org/Public/Bug/Display.html?id=39000

này "lỗi" dường như được giới thiệu với Perl 5.10 và có lẽ đây đã được giải quyết trong các phiên bản sau này.

Xem thêm: How can I use Unicode characters in Perl POD-derived man pages?incorrect behaviour of perldoc with UTF-8 texts.

Bạn nên thêm phiên bản mới nhất hiện có của Pod::Perldoc làm phụ thuộc.

+0

Thú vị là theo https://metacpan.org/source/MALLEN/Pod-Perldoc-3.23/Changes RT # 39000 đã được sửa trong 3.15_12 nhưng tôi thấy hồi quy trong 3.19. – Kaoru

+1

Giải pháp mà tôi đã giải quyết là thêm «Pod :: Perldoc 3.21' làm phụ thuộc, nên đảm bảo rằng bất kỳ ai sử dụng mô-đun đều có phiên bản« perldoc' gần đây để đọc POD! – Kaoru

+0

Vâng, có gì đó lạ đang nấu ở đó. Sử dụng phiên bản mới nhất là những gì tôi có thể đề xuất. –

Các vấn đề liên quan