The PrintingResultHandler that's behind .andDo(print()) is a simple mechanism to print the response to the console for debugging reasons. Internally it relies on getContentAsString() of MockHttpServletResponse which checks the characterEncoding of the response and if that's not present uses the platform default encoding. In this case there is no encoding specified so this is to be expected.
By the way in your tests you're also relying implicitly on the default platform encoding. Those expectations might work okay on your computer and fail on another (e.g. CI server) if the default platform encoding is different. Instead you should use native2ascii converter and embed escaped sequences "Jes\u00fas Voc\u00ea".