Comment: Curtesy of Henrik Levkowetz <henrik@levkowetz.com>
1)
In Section 2.1 it says:
char = c
char =/ "\" x
[...]
c =/ %x80-ff ; UTF-8 allowed (not in RFC 2486)
; c must also satisfy rules in Section 2.4
x = %x00-FF ; all 128 ASCII characters, no exception;
; as well as all UTF-8 characters (this
; was not allowed in RFC 2486)
With good will and positive thinking, it is possible to work out that
the indication "UTF-8" means any component octet in an utf-8 encoded
character; however it is not correct in either of the above ABNF rules
that 0x80-ff is a UTF-8 character, nor that an arbitrary UTF-8 character
can be represented as %x80-FF.
So maybe replace this with:
c =/ %x80-FF ; UTF-8-octet allowed (not in RFC 2486)
; where UTF-8-octet is any octet in the
; multi-octet UTF-8 representation of a
; unicode codepoint above %x7F.
; c must also satisfy rules in Section 2.4
x = %x00-FF ; all 128 ASCII characters, no exception;
; as well as all UTF-8-octets as defined
; above (this was not allowed in RFC 2486)