931e339e25bf63a38d48c12f77cdea8c042673f4
[ikiwiki.git] /
1 # getting Warnings about UTF8-Chars.
2
3 I'm  getting multiple warnings:
4
5       utf8 "\xAB" does not map to Unicode at /usr/share/perl5/IkiWiki.pm line 774, <$in> chunk 1.
6
7
8 I'm assuming this is once per File, but even in verbose mode, it doesn't tell me which file is a problem.
9 It first reads all the files, and afterwards when parsing/compiling them, it outputs the warning, so I can't
10 deduce the offending files.
11
12 Is there a way to have ikiwiki output the position, where it encounters the character?
13
14 Probably all this has to do with locale-settings, and usage of mixed locales in a distributed setup ...
15 I'd rather cleanup some of the file(name)s  of unexpected characters. --[[jwalzer]]
16
17 --------
18
19 **Update** : So I took the chance to insert debug into ikiwiki.pm:
20
21      root@novalis:/usr/share/perl5# diff -p /tmp/IkiWiki.orig.pm IkiWiki.pm 
22      *** /tmp/IkiWiki.orig.pm        Sun Feb 14 15:16:08 2010
23      --- IkiWiki.pm  Sun Feb 14 15:16:28 2010
24      *************** sub readfile ($;$$) {
25      *** 768,773 ****
26      --- 768,774 ----
27              }
28        
29              local $/=undef;
30      +       debug("opening File: $file:");
31              open (my $in, "<", $file) || error("failed to read $file: $!");
32              binmode($in) if ($binary);
33              return \*$in if $wantfd;
34
35
36 But what I see now is not quite helpful, as it seems, STDERR and DEBUG are asyncronous, so they mix up in a way, that I can't really see, whats the problem ...  Maybe I'm better off for troubleshooting, to insert an printf to strerr to have it in the same stream.. --[[jwalzer]]