charset / error
EL1002
charset.invalid-utf8
Applies to: all
What it catches and why it matters
Byte sequence is not valid UTF-8.
Failing example
These synthetic fragments illustrate the defect; they are not complete interchange files. Backslash escapes name bytes such as \r (CR) and \n (LF).
A text field contains the standalone byte 0xFF, which is not a valid UTF-8 sequence.
How to fix it
Decode the file using its actual source encoding and export valid UTF-8, or regenerate it from the source. Do not replace undecodable bytes blindly; the original value may be lost.
False positives and limits
A feed intentionally encoded in a legacy character set can trigger this rule. Convert it according to the agreed encoding before linting. Dense binary input is reported once and is not parsed as an interchange.
Acknowledgments and suppression
No direct acknowledgment code is mapped for this rule. Suppress the rule with --disable EL1002, or list it under "disable" in .edilint.yml. To accept the occurrences a file already has without suppressing the rule, record them with --write-baseline and run with --baseline. Reference: https://crb2nu.github.io/edilint/rules/EL1002.html