Какую версию вы используете? Существует известная проблема ( RESTEASY-467 ) со строками в 2.0.1 и ранее.
Это ваши варианты:
1) принудительно возвращает байту кодировки []
public byte[] getPersons
, а затем
return result.getBytes("UTF8");
2) вернуть список (или создать PersonListing, если вам это нужно)
public List<Person> getPersons
и пусть resteasy обрабатывает преобразование json.
3) вернуть StreamingOutput
ПРИМЕЧАНИЕ: с этой опцией заголовок «Content-Length» будет неизвестен.
return new StreamingOutput()
{
public void write(OutputStream outputStream) throws IOException, WebApplicationException
{
PrintStream writer = new PrintStream(outputStream, true, "UTF-8");
writer.println(result);
}
};
4) обновление до 2.2-бета-1 или более новой версии.