Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jQuery数据表不显示Unicode字符_Java_Jquery_Html_Ajax - Fatal编程技术网

Java jQuery数据表不显示Unicode字符

Java jQuery数据表不显示Unicode字符,java,jquery,html,ajax,Java,Jquery,Html,Ajax,我使用jQuery DataTables显示MySQL数据库中的分页数据 当我在这个表中显示普通字符时,它在表中显示正确的数据。但是,当我保存Unicode字符时,它只显示?人物 以下是我在此页面的html代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.spring

我使用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字符:


请帮助我解决此问题。

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


@RequestMappingvalue=/springPaginationDataTables.web,method=RequestMethod.GET,products=application/json;charset=UTF-8

您是否使用UTF-8字符编码编译了java源代码?是的。我已经知道了。你从哪里得到数据?数据库csv?xml?excel?@JuaRoAI,我从数据库中获取数据,转换成JSON格式并绑定表。检查: