在我的mysql表中,我有马拉雅拉姆语的数据(utf8mb4_unicode_520_ci)。 My Rest API使用jdbcTemplate获取数据并在浏览器中显示。查看内容所需的字体已安装在系统中。但内容仍然如下所示。
ÃÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂà ÃÂÂÂÂÂÂÂï�à¾ÃÂÂÃÂÂÃ
用于从db获取数据的代码。
List<News> listNewsPosts = new ArrayList<News>();
query = "SELECT * FROM malayalam_dictionary";
listNewsPosts = jdbcTemplate.query(query,
new BeanPropertyRowMapper<News>(News.class));
这就是我将数据返回浏览器的方式
@GET
@Path("/posts/)
@Produces(MediaType.APPLICATION_JSON)
public Response getAllPosts() {
Date dNow = new Date();
SimpleDateFormat ft = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
APIResponse apiResponse = new APIResponse();
apiResponse.setMessage("Fetched posts successfully!");
apiResponse.setResponseTime(ft.format(dNow));
try {
Map<String, Object> categories = new HashMap<String, Object>();
categories.put("newsDetail", newsOperationsController.getAllPosts());
apiResponse.setResponse(categories);
return Response.ok(apiResponse).build();
} catch (Exception e) {
logger.error(e, e);
apiResponse.setMessage("Something went wrong. please try again!");
return Response.status(500).entity(apiResponse).build();
}
}
请帮我以正确的格式返回API数据。
由于
答案 0 :(得分:0)
将类文件保存为UTF-8并将jdbc连接URL更改为
后,它仍然有效 jdbc:mysql://127.0.0.1:3306/testwordprs?characterEncoding=UTF-
8&useUnicode=true