gpt4 book ai didi

java - jQuery DataTables 不显示 Unicode 字符

转载 作者:太空宇宙 更新时间:2023-11-04 13:55:36 25 4
gpt4 key购买 nike

我正在使用 jQuery DataTables 显示 MySQL 数据库中的分页数据。

当我在此表中显示正常字符时,它会在表中显示正确的数据。但是,当我保存 Unicode 字符时,它只显示 ? 字符。

以下是我的该页面的 html 代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Township</title>
<link rel="stylesheet" href="<c:url value="/resources/styles/township.css" />"/>
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.0/css/jquery.dataTables.css">
<script type="text/javascript" charset = "utf8" src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript" charset = "utf8" src="//cdn.datatables.net/1.10.0/js/jquery.dataTables.js"></script>
<script type="text/javascript" charset = "utf8" >

//Plug-in to fetch page data
jQuery.fn.dataTableExt.oApi.fnPagingInfo = function ( oSettings )
{
return {
"iStart": oSettings._iDisplayStart,
"iEnd": oSettings.fnDisplayEnd(),
"iLength": oSettings._iDisplayLength,
"iTotal": oSettings.fnRecordsTotal(),
"iFilteredTotal": oSettings.fnRecordsDisplay(),
"iPage": oSettings._iDisplayLength === -1 ?
0 : Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ),
"iTotalPages": oSettings._iDisplayLength === -1 ?
0 : Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength )
};
};

$(document).ready(function() {

$("#example").dataTable( {
"bProcessing": true,
"bServerSide": true,
"sort": "position",
"bStateSave": false,
"iDisplayLength": 10,
"iDisplayStart": 0,
"fnDrawCallback": function () {

},
"sAjaxSource": "springPaginationDataTables.web",
"aoColumns": [

{ "mData": "townshipCode" },
{ "mData": "townshipName" },
{ "mData": "divisionName" },
{ "mData": "actionlink"},
]
} );

} );

</script>
</head>
<body>
<div id="container">
<div id="table">
<form:form action="" method="GET" align="center">
<br>
<table style="border: 3px;background: rgb(243, 244, 248); width: 90%; margin:20px auto;"><tr><td>
<table id="example" class="display">
<thead>
<tr>
<th>Code</th>
<th>Township</th>
<th>Division</th>
<th>Action</th>
</tr>
</thead>
</table>
</td></tr></table>
<br>
</form:form>

</div>
</div>
</body>
</html>

该表的后端 Java 代码是:

@RequestMapping(value = "/springPaginationDataTables.web", method = RequestMethod.GET, produces = "application/json")
public @ResponseBody String springPaginationDataTables(HttpServletRequest request) throws IOException {

Integer pageNumber = 0;
if (null != request.getParameter("iDisplayStart"))
pageNumber = (Integer.valueOf(request.getParameter("iDisplayStart"))/10)+1;

Integer pageDisplayLength = Integer.valueOf(request.getParameter("iDisplayLength"));

List<Township> listTownship = townshipDao.getList(pageNumber, pageDisplayLength);
int count = townshipDao.getCount();

JsonObject<Township> townshipJsonObject = new JsonObject<Township>();
//Set Total display record
townshipJsonObject.setiTotalDisplayRecords(count);
//Set Total record
townshipJsonObject.setiTotalRecords(count);
townshipJsonObject.setAaData(listTownship);

Gson gson = new GsonBuilder().setPrettyPrinting().create();
String json2 = gson.toJson(townshipJsonObject);

return json2;
}

我在数据表中得到以下输出,其中显示 ? 而不是 Unicode 字符:

enter image description here

请帮我解决这个问题。

最佳答案

尝试在 Produces 属性中强制使用字符集,如下所示:

@RequestMapping(value = "/springPaginationDataTables.web", method = RequestMethod.GET, Produces = "application/json; charset=UTF-8")

关于java - jQuery DataTables 不显示 Unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29865056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com