„Invalid byte 1 of 1-byte UTF-8 sequence”: fișierul nu e salvat în UTF-8
Mesajul din SPV
Invalid byte 1 of 1-byte UTF-8 sequence.
Ce înseamnă
Declarația spune encoding="UTF-8", dar unele caractere (aproape mereu diacriticele: ă, â, î, ș, ț) sunt salvate în altă codare, de obicei Windows-1250 sau 1252. Parserul întâlnește un octet care nu poate apărea în UTF-8 și se oprește.
Cauze frecvente în e-Factura
- XML generat de un program vechi sau de un script care scrie cu codarea implicită a Windows-ului;
- fișier editat manual în Notepad vechi și salvat ca „ANSI”;
- denumiri de firme, adrese sau produse copiate din Excel.
Exemplu
Greșit:
<?xml version="1.0" encoding="UTF-8"?> ← dar fișierul e salvat în Windows-1250 <cbc:Name>Construcții Brașov SRL</cbc:Name>
Corect:
<?xml version="1.0" encoding="UTF-8"?> ← și fișierul salvat în UTF-8 <cbc:Name>Construcții Brașov SRL</cbc:Name>
Cum o repari
- Deschide fișierul în Notepad++ sau VS Code și uită-te la codarea afișată (jos, în bara de stare).
- Convertește la UTF-8 (Notepad++: Codare → Convertește în UTF-8; VS Code: „Save with Encoding” → UTF-8).
- Verifică diacriticele după conversie și salvează.
- Corectează și exportul din program (setarea de codare a fișierului), altfel eroarea revine.
Verifică XML-ul înainte să-l încarci din nou
Lipește XML-ul facturii: vezi toate erorile odată (schemă UBL, CIUS-RO, EN 16931), cu corectura pentru fiecare. Gratuit, 3 verificări pe zi; fișierul nu e păstrat.
Întrebări frecvente
Pot scoate diacriticele ca să scap de eroare?
Se poate, dar nu e nevoie: e-Factura acceptă diacritice în UTF-8. Problema e codarea fișierului, nu caracterele.
Ce înseamnă „Invalid byte 2 of 3-byte UTF-8 sequence”?
Aceeași cauză: un caracter salvat în altă codare decât UTF-8, de obicei ș sau ț.
Alte erori din SPV
- cvc-complex-type.2.4.a la e-Factura: „Invalid content was found starting with element”
- cvc-complex-type.2.4.b la e-Factura: „The content of element … is not complete”
- cvc-complex-type.2.4.d la e-Factura: „No child element is expected at this point”
- cvc-complex-type.4 la e-Factura: „Attribute 'currencyID' must appear on element”
- cvc-complex-type.3.2.2 la e-Factura: „Attribute … is not allowed to appear in element”
- cvc-datatype-valid.1.2.1 la e-Factura: „is not a valid value for 'date'” / „'decimal'”
- cvc-elt.1.a la e-Factura: „Cannot find the declaration of element 'Invoice'”
- „Content is not allowed in prolog” la e-Factura: cauza și soluția
- „The element type … must be terminated by the matching end-tag” la e-Factura
- Factură respinsă în SPV (nok): cum citești eroarea și ce faci