in reply to Detect wrong characters

When the encoding is set to iso-8859-1, the file can't possibly contain characters that aren't part of the iso-8859-1 character set (unless they are encoded using entities such as ਩).

Are you asking if it's possible to detect if the wrong encoding is specified? There's no way to detect whether it's invalid or not without using heuristics. For example, if byte sequence in the XML would form a word in iso-8859-7 but not in iso-8859-1, it could suggest that the wrong encoding was specified.

Replies are listed 'Best First'.
Re^2: Detect wrong characters
by LexPl (Beadle) on Dec 02, 2024 at 15:26 UTC

    But if you write characters that violate the encoding, they might look rather weird if your application is tuned to that encoding, but nevertheless be saved. Or am I wrong?

    And an XML file with encoding='ISO-8859-1" should not contains characters in another encoding. The ideal solution to use UTF-8 unfortunately doesn't work in my environment - in the midst of a chain of production ;)

      if you write characters that violate the encoding

      You can't write character that violate the encoding. It's simply not possible. But you could encode characters using the wrong encoding, and incorrectly write that to the XML document. This would produce a document that contains different characters than the intended characters. Detecting this would require heuristics, as per my original post.

      And an XML file with encoding='ISO-8859-1" should not contains characters in another encoding.

      No. An XML file with encoding='ISO-8859-1" can not contain characters in another encoding (unless encoded using entities such as ਩). It's simply not possible.