edilint / rule reference

charset / error

EL1001

charset.bom

Applies to: all (warning for delimited)

What it catches and why it matters

File starts with a byte order mark. An error for X12, HL7v2 and fixed-width, where a BOM before ISA or MSH shifts every fixed position in the file; a warning for delimited, because spreadsheet exports emit one routinely and most CSV readers cope.

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).

\xEF\xBB\xBFISA*00*...

How to fix it

Remove the byte order mark at the start of the file. Preview edilint fix before using --write; fix removes a UTF-8 BOM.

False positives and limits

Some delimited-file consumers accept a BOM from spreadsheet exports, so this rule is a warning for that format. Confirm the receiver's encoding contract before suppressing it.

Acknowledgments and suppression

No direct acknowledgment code is mapped for this rule.
Suppress the rule with --disable EL1001, 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/EL1001.html

All rules · Configuration