title: jQuery DataTables does not show Unicode characters
body: <p>I am using jQuery DataTables to show pagination data from MySQL database. </p>
  
  <p>When I show normal characters in this table, it shows proper data in table. But, when I save Unicode characters it only shows <code>?</code> characters.</p>
  
  <p>The following is my html codes for this page:</p>
  
  <pre><code>&lt;%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%&gt;
  &lt;%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%&gt;
  &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;
  &lt;html&gt;
  &lt;head&gt;
  &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;
  &lt;title&gt;Township&lt;/title&gt;
  &lt;link rel="stylesheet" href="&lt;c:url value="/resources/styles/township.css" /&gt;"/&gt;
  &lt;link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.0/css/jquery.dataTables.css"&gt;
  &lt;script type="text/javascript" charset = "utf8" src="//code.jquery.com/jquery-1.10.2.min.js"&gt;&lt;/script&gt;
  &lt;script type="text/javascript" charset = "utf8" src="//cdn.datatables.net/1.10.0/js/jquery.dataTables.js"&gt;&lt;/script&gt;
  &lt;script type="text/javascript" charset = "utf8" &gt;
  
  //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"}, 
      ]
  } );
  
  } );
  
  &lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;div id="container"&gt;
      &lt;div id="table"&gt;
          &lt;form:form action="" method="GET" align="center"&gt;
              &lt;br&gt;
              &lt;table style="border: 3px;background: rgb(243, 244, 248); width: 90%; margin:20px auto;"&gt;&lt;tr&gt;&lt;td&gt;
                  &lt;table id="example" class="display"&gt;
                      &lt;thead&gt;
                          &lt;tr&gt;
                          &lt;th&gt;Code&lt;/th&gt;
                          &lt;th&gt;Township&lt;/th&gt;
                          &lt;th&gt;Division&lt;/th&gt;
                          &lt;th&gt;Action&lt;/th&gt;
                      &lt;/tr&gt;
                  &lt;/thead&gt;       
              &lt;/table&gt;
              &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
              &lt;br&gt;
          &lt;/form:form&gt;
  
      &lt;/div&gt;
  &lt;/div&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>My backend Java code for this table is:</p>
  
  <pre><code>@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&lt;Township&gt; listTownship = townshipDao.getList(pageNumber, pageDisplayLength);
      int count = townshipDao.getCount();
  
      JsonObject&lt;Township&gt; townshipJsonObject = new JsonObject&lt;Township&gt;();
      //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;
  }
  </code></pre>
  
  <p>I got the following output in Data Table which showing <code>?</code> instead of Unicode characters:</p>
  
  <p><img src="https://i.stack.imgur.com/SxUKe.png" alt="enter image description here"></p>
  
  <p>Please help me to solve this problem.</p>