Latin1Encoder matches Latin1Decoder, and matches the first 256
codepoints of Unicode.
Note that on the web, iso-8859-1 actually gets you windows-1252:
https://encoding.spec.whatwg.org/#note-latin1-ascii
This is implemented in get_standardized_encoding(), which encoder_for()
calls. One has to call encoder_for_exact_name("iso-8859-1") to get this
new encoder.
That means both browser and iconv won't see this encoder.
(Maybe iconv should try calling encoder_for_exact_name() first, and
encoder_for() only if that doesn't return anything?)
This is a bit weird and subtle, but it matches the decoder, is
compatible with the web, and still allows code that does want actual
iso-8859-1 to get it.
See also #24594, especially the fourth commit, and #25119, which
picked up this design for the encoders as well.
Implements the corresponding encoders, selects the appropriate one when
encoding URL search params. If an encoder for the given encoding could
not be found, fallback to utf-8.
(cherry picked from commit 72d0e3284b604c4c1373fb019250cdf5bd492300)