b272224918
Backport #28935 by @silverwind The `ToUTF8*` functions were stripping BOM, while BOM is actually valid in UTF8, so the stripping must be optional depending on use case. This does: - Add a options struct to all `ToUTF8*` functions, that by default will strip BOM to preserve existing behaviour - Remove `ToUTF8` function, it was dead code - Rename `ToUTF8WithErr` to `ToUTF8` - Preserve BOM in Monaco Editor - Remove a unnecessary newline in the textarea value. Browsers did ignore it, it seems but it's better not to rely on this behaviour. Fixes: https://github.com/go-gitea/gitea/issues/28743 Related: https://github.com/go-gitea/gitea/issues/6716 which seems to have once introduced a mechanism that strips and re-adds the BOM, but from what I can tell, this mechanism was removed at some point after that PR. Co-authored-by: silverwind <me@silverwind.io> (cherry picked from commit b8e6cffd317401d980600e339eb21b15b9bc64c1) |
||
---|---|---|
.. | ||
ambiguous | ||
invisible | ||
ambiguous.go | ||
ambiguous_gen.go | ||
ambiguous_gen_test.go | ||
breakwriter.go | ||
breakwriter_test.go | ||
charset.go | ||
charset_test.go | ||
escape.go | ||
escape_status.go | ||
escape_stream.go | ||
escape_test.go | ||
htmlstream.go | ||
invisible_gen.go |