http://qs1969.pair.com?node_id=11133114


in reply to Re: XML::Simple and ISO-8859-1 encoding buggy?
in thread XML::Simple and ISO-8859-1 encoding buggy?

I did not yet find a way to automatically determine the encoding of a file/data but would be very happy to have something for a at least good guessing.

In my case I downloaded the file, opened it with Notepad++, the special characters were displayed as they should and Notepadd++ showed the information that the file is ISO-8859-1.
Nevertheless I dare not say that the encoding could not be something else.

Replies are listed 'Best First'.
Re^3: XML::Simple and ISO-8859-1 encoding buggy?
by haukex (Archbishop) on May 27, 2021 at 13:14 UTC
    I did not yet find a way to automatically determine the encoding of a file/data but would be very happy to have something for a at least good guessing.

    While sadly files with unknown encodings are not rare, IMHO guessing encodings should be a matter of last resort, much better is to find out how the files were generated and get their encoding from there. But if you really don't know the encoding of the input files, you could use a module like Encode::Guess, or I've written a tool that tries to be a little smarter: enctool - it allows you to narrow down the guesses by specifying what characters are expected to appear in the input file using e.g. the --one-of='\xFC' option (which in this case will look for U+00FC LATIN SMALL LETTER U WITH DIAERESIS ("ü"); you can specify multiple possible characters).

    And I must second the opinion that XML::Simple shouldn't be used. For full-fledged XML support, I'd suggest XML::LibXML, or for a XML::Simple replacement, have a look at XML::Rules.