[Tilesathome] FW: [OSM-talk] A large part of London Missing?
Ed Loach
ed at loach.me.uk
Tue Dec 9 13:13:45 GMT 2008
There was some discussion a day or two ago on OSMtalk about a tile which wouldn't render in the middle of London, as it seemed to be causing Inkscape errors. I posted to suggest perhaps the following may relate to the problem:
> Could the problem be related to this bit in Tileset.pm:
> # Check for correct UTF8 (else inkscape will run amok later)
> # FIXME: This doesn't seem to catch all string errors that inkscape trips over.
> ::statusMessage("Checking for UTF-8 errors",0,3);
> if (my $line = ::fileUTF8ErrCheck($DataFile))
>
> Can anyone work out how to find out what possible UTF8 errors there
> might be? Or would you be able to tell some other way if this were
> the problem?
Someone replied as below. As I don't know Perl perhaps someone who does could consider whether to change Tileset.pm as suggested or not.
Ed
--- Start quote ---
You should try using decode("UTF-8") instead of decode("utf8") in your
checking routine. UTF-8 and utf8 are not equivalent under Encode, the
former is more strict, see
http://perldoc.perl.org/Encode.html#UTF-8-vs.-utf8-vs.-UTF8
encode("utf8", "\x{FFFF_FFFF}", 1); # okay
encode("UTF-8", "\x{FFFF_FFFF}", 1); # croaks
It would also be useful to log these errors, they suggest invalid
byte-sequences in the OSM dataset and it would be useful to fix them
at their source.
--- End quote ---
More information about the Tilesathome
mailing list