2016-06-30 12 views
1

jsonを使用して列wo_wks_descからデータを表示したいが、文字記号Ø、Ã、などを含むセルの内容のために表示されないデータがある。PHP:データベースのシンボルを含むデータを配列jsonに格納する方法は?

この問題を解決するのに役立つ。

私のようなコードと私は

<?php 
 
include "./class/connect_sql.class.php"; 
 
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) 
 
{ 
 

 

 
    
 
    $query = mssql_query("select ROW_NUMBER() OVER(ORDER BY barcode_wo_nmr) nomor, barcode_wo_nmr, barcode_wo_line,wo_wks_desc, 
 
\t \t \t barcode_wo_proses, barcode_npk, barcode_start, barcode_pending, barcode_end,barcode_qty,barcode_ng,barcode_reason_pending 
 
\t \t \t from WO_ENG_BARCODE, WO_ENG_DET, WO_ENG_DET_WKS with(nolock) where 
 
\t \t \t barcode_wo_nmr= WO_DET_NOMOR and barcode_line = wo_det_line and barcode_wo_nmr = wo_wks_nmr and 
 
\t \t \t WO_DET_NOMOR = wo_wks_nmr and barcode_wo_line = wo_wks_line and WO_DET_NAMA_BARANG = wo_wks_barang and right(barcode_wo_nmr,2) >= '15' 
 
\t \t \t order by barcode_wo_nmr desc"); 
 
    $jsonResult = '{"data" : [ '; 
 
    $i=0; 
 
    while ($data=mssql_fetch_assoc($query)) 
 
\t { 
 
     if($i != 0) 
 
\t { 
 
      $jsonResult .=','; 
 
     } 
 
\t  
 
     $jsonResult .=json_encode($data); 
 
\t  
 
\t $i++; 
 
\t 
 
    } 
 
    $jsonResult .= ']}'; 
 
\t 
 
    echo $jsonResult; 
 
} 
 
else { 
 
    echo '<script>window.location="404.html"</script>'; 
 
} 
 
?>

jQuery(document).ready(function() { 
 
\t \t var table = jQuery('#dataTables').DataTable({ 
 
        "ajax": "./pc_list_barcode.php", 
 
        "order": [[ 1, 'asc' ]], 
 
        "columns": [ 
 
         { "data": "nomor" }, 
 
         { "data": "barcode_wo_nmr" }, 
 
\t \t \t \t \t \t { "data": "barcode_wo_line" }, 
 
\t \t \t \t \t \t { "data": "wo_wks_desc" }, 
 
         
 
\t \t \t \t \t \t 
 
\t \t \t \t \t \t { "data": "barcode_wo_proses" }, 
 
\t \t \t \t \t \t { "data": "barcode_npk" }, 
 
\t \t \t \t \t \t { "data": "barcode_start", 
 
\t \t \t \t \t \t "width": "120px" 
 
\t \t \t \t \t \t }, 
 
\t \t \t \t \t \t { "data": "barcode_pending" }, 
 
\t \t \t \t \t \t { "data": "barcode_end" }, 
 
\t \t \t \t \t \t { "data": "barcode_qty" }, 
 
\t \t \t \t \t \t { "data": "barcode_ng" }, 
 
\t \t \t \t \t \t { "data": "barcode_reason_pending", 
 
\t \t \t \t \t \t \t "width": "120px" 
 
\t \t \t \t \t \t \t }, 
 
\t \t \t \t \t \t { 
 
\t \t \t \t \t \t \t "data": "barcode_wo_nmr", 
 
\t \t \t \t \t \t \t "render": function(data){ 
 
\t \t \t \t \t \t \t \t return '<font color="blue"><a href="edit_barcode.php?id=' + data + '">EDIT</a>' 
 
\t \t \t \t \t \t \t } 
 
\t \t \t \t \t \t } \t 
 
\t \t \t \t \t \t //{"data": "barcode_reason_pending"}, 
 
\t \t \t \t \t \t // {"data": return '<a href="edit_barcode.php?id=' + row.id + '">EDIT</a>' }, 
 
        ] 
 
       });

+0

はこのようにしてみてくださいいけない、試してみてくださいjson_encode(array( "data" => $ complete_data))のようになります。$ complete_dataはフェッチされたすべてのレコードを含む配列です –

+0

これはそうですか?一方、json_encode($ data = mssql_fetch_assoc($ query)) –

+0

いいえ、1つの配列のすべてのレコードを取得し、その配列のjson_encodeを実行します。 –

答えて

0

この使用list_barcode2.phpでコードを書くJSONの結果を表示する:

そして、このように、あなたはあなたのデータはUTF-8でエンコードするクエリを実行する前に、MySQLを指示する必要があり、適切にエンコードされたすべてのシンボルを得るために:

mysql_set_charset('utf8') 
関連する問題