Hello,<div><br></div><div>I am using utf-8 as default encoding for the web and it didn&#39;t worked out of the box with Undertow and EagerFormParsingHandler.</div><div><br></div><div>It turned out that MultiPartParserDefinition has a default iso-8859-1 encoding and that it&#39;s quite hard to change it. You have to create a custom FormParserFactory containing a MultiPartParserDefinition with the right setDefaultEncoding() that&#39;s a lot of work for something that common and I had to spend half an hour looking at Undertow sources to understand how it work and why my input was garbage.</div><div><br></div><div>The assumption that Browsers will add a &quot;; charset=UTF-8&quot; to the Content type is false (at least with google chrome).</div><div><br></div><div>My temporary hack is to override EagerFormParsingHandler and modify the request CONTENT_TYPE header to add the UTF-8 charset and then setNext my real HttpHandler (I had less mental friction doing this than learning how to create my custom FormParserFactor).</div><div><br></div><div><div>new EagerFormParsingHandler(){</div><div>  override def handleRequest(x:HttpServerExchange){</div><div>    val ct = x.getRequestHeaders().get(Headers.CONTENT_TYPE).getLast()</div><div>    x.getRequestHeaders().put(Headers.CONTENT_TYPE, ct+&quot;; charset=UTF-8&quot;)</div><div>    super.handleRequest(x)</div><div>  }</div><div>}.setNext(new HttpHandler(){</div><div>  def handleRequest(x:HttpServerExchange){ ... }</div><div>})</div><div><br></div><div>Now that I know it I can create my own Utf8FormParsingHandler but I imagine that other users will want to be able to define the encoding out of the box.</div><div><br></div><div>Maybe with a new self documenting contructor like :</div><div><br></div><div>new EagerFormParsingHandler(encoding:String, nextHandler:HttpHandler)</div></div><div><br></div><div>Best regards</div><div>Laurent</div>