+ -
当前位置:首页 → 问答吧 → jqgrid 中文显示为问号的问题

jqgrid 中文显示为问号的问题

时间:2009-04-24

来源:互联网

大家好,我是个新手,最近按官方示例做了一个示例,
字段内容,中文显示为??  ,数据类型为xml的跟json的都是,不知什么原因.有知道的朋友能指点一下吗?
先发json的,
文件内容如下:
example.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jqGrid Demo</title>
<style>
html, body {
    margin: 0;            /* Remove body margin/padding */
    padding: 0;
    overflow: auto;    /* Remove scroll bars on browser window */    
    font: 12px "Lucida Grande", "Lucida Sans Unicode", Tahoma, Verdana;
}
</style>
<!-- In head section we should include the style sheet for the grid -->
<link rel="stylesheet" type="text/css" media="screen" href="themes/sand/grid.css" />

<!-- Of course we should load the jquery library -->
<script src="js/jquery.js" type="text/javascript"></script>

<!-- and at end the jqGrid Java Script file -->
<script src="js/jquery.jqGrid.js" type="text/javascript"></script>
<script type="text/javascript">
// We use a document ready jquery function.
jQuery(document).ready(function(){
jQuery("#list").jqGrid({
  
    url:'example-json.php',
    
    datatype: "json",
    
    colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
    
    colModel:[
        {name:'id',index:'id', width:65},
        {name:'invdate',index:'invdate', width:90},
        {name:'name',index:'name asc, invdate', width:100},
        {name:'amount',index:'amount', width:80, align:"right"},
        {name:'tax',index:'tax', width:80, align:"right"},        
        {name:'total',index:'total', width:80,align:"right"},        
        {name:'note',index:'note', width:150, sortable:false}        
    ],
    
    pager: jQuery('#page'),
    
    rowNum:10,
    
    rowList:[10,20,30],
    
    imgpath: 'themes/sand/images',
    
    sortname: 'id',
    
    viewrecords: true,
    
    sortorder: "desc",
    jsonReader: {
        repeatitems :false,
        id:"0"
    },
    caption: "Demo"
});
});
</script>
</head>
<body>
<!-- the grid definition in html is a table tag with class 'scroll' -->
<table id="list" class="scroll" cellpadding="0" cellspacing="0"></table>

<!-- pager definition. class scroll tels that we want to use the same theme as grid -->
<div id="page" class="scroll" style="text-align:center;"></div>

</body>
</html>

example.php

<?php

include("dbconfig.php");

include("JSON.php");

$json = new Services_JSON();

$page = $_GET['page'];

$limit = $_GET['rows'];

$sidx = $_GET['sidx'];

$sord = $_GET['sord'];

if(!$sidx) $sidx =1;

$db = mysql_connect($dbhost, $dbuser, $dbpassword)
or die("Connection Error: " . mysql_error());

mysql_select_db($database) or die("Error conecting to db.");

$result = mysql_query("SELECT COUNT(*) AS count FROM invheader a, clients b WHERE a.client_id=b.client_id");
$row = mysql_fetch_array($result,MYSQL_ASSOC);
$count = $row['count'];

if( $count >0 ) {
    $total_pages = ceil($count/$limit);
} else {
    $total_pages = 0;
}

if ($page > $total_pages) $page=$total_pages;

$start = $limit*$page - $limit; // do not put $limit*($page - 1)

if($start <0) $start = 0;

$SQL = "SELECT a.id, a.invdate, b.name, a.amount,a.tax,a.total,a.note FROM invheader a, clients b WHERE a.client_id=b.client_id ORDER BY $sidx $sord LIMIT $start , $limit";
$result = mysql_query( $SQL ) or die("Couldn t execute query.".mysql_error());

// constructing a JSON
$responce->page = $page;
$responce->total = $total_pages;
$responce->records = $count;
$i=0;
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
    $responce->rows[$i]=$row;

    $i++;
}
// return the formated data
echo $json->encode($responce);
?>
[ 此帖被日光在2009-04-24 22:47重新编辑 ]

作者: 日光   发布时间: 2009-04-24

相关阅读 更多

热门下载

更多