I've written about my UTF-8 woes with Jersey. Digging through the code of Jersey hasn't resulted in any clues yet. I'm still not sure how to set an UTF-8 content header for HTTP with Jersey. Other impression from the code: no JavaDoc. Usually not a good sign. I'll keep you updated on my progress through Jersey code depths.