JDBC character encoding
It's JDBC, not JPA that determines the encoding:
jdbc:mysql://localhost:3306/administer?characterEncoding=utf8
I solved it with the following: I used the GlassFish admin interface to add this property to my connection pool's settings:
characterEncoding = UTF-8