UTF-8 encoding for included .jsp files

Today I had to split a gigantic .jsp file into several smaller files. I used the <@include file="./path/to/file.jsp"> syntax in order to do this.

Unfortunatly, all the included files were displayed with garbage instead of UTF-8 characters.

So I ran the list of usual suspects :

  • Content-Type:text/html; charset=utf-8 is correctly returned by my server.
  • <meta charset="utf-8"> is the first element of my <head>.
  • No data is being fetched from a database, so it cannot come from there.
  • All my files are correctly encoded in UTF-8.

Also, I added a <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> as the very first line of my main index.jsp. I also added the following code to pom.xml to make UTF-8 the default encoding : [...] UTF-8

Any UTF-8 in the main index.jsp was fine, but as soon as it was in an included page it was displayed as garbaged. At first, I manually added <%@ page pageEncoding="UTF-8"%> to every included page and it fixed the issue. But as I was dealing with dozen of included files, I needed a more generic solution.

Turns out that I had to edit my web.xml file and add the following configuration :


And it worked !

Tags : #utf8, #jsp

Want to add something ? Feel free to get in touch on Twitter : @pixelastic