International character encodings and Winstone
I’m writing a little web application to help me learn some German (yeah, a bit of yak-shaving) and I wanted to deploy it locally using an executable jar. I wrote about how to do this previously using winstone and that worked pretty well. Unlike dealing with a normal English character set, dealing with letters like ß, Ä, Ü and Ö are pretty important.
It looks like, by default, serving static HTML from winstone doesn’t seem to work unless you explicitly specify the character encoding as UTF-8. A simple web-filter applied to all URLs helps us here. Here’s an example in scala:
import javax.servlet._
class ForceUtf8EncodingFilter extends Filter {
def doFilter(request:ServletRequest, response : ServletResponse, chain: FilterChain) {
response.setCharacterEncoding("UTF-8")
chain.doFilter(request, response)
}
def init(config: FilterConfig) { }
def destroy() { }
}
One comment