2016-11-09 6 views
0

mssqlデータベースのデータを返す次のスクリプトがありますが、 "ç" "á" "ãのような特別なキャラクタが表示されます奇妙な方法で。mssqlデータベースのデータを持つjsonの文字セットに関する問題

これはmssqlであるため、これは痛みを伴う可能性があります。正確な応答は見つかりませんでした。

Iは固定するために、この行を追加しようとした:

  • ini_set( 'mssql.charset'、 'UTF-8')。 "データベース" => "programaplo"、 "UID" => " - "、 "PWD" => " - "、 "CharacterSet" => "UTF-8");
  • ;
  • header( 'Content-type:application/json; Charset = UTF-8');

スクリプト

<?php 
error_reporting(1); 
ini_set('mssql.charset', 'UTF-8'); 

$serverName = "mssql3.gear.host"; 

/* Get UID and PWD from application-specific files. */ 
$connectionInfo = array("Database"=>"programaplo", "UID"=>"--", "PWD"=>"--","CharacterSet"=>"UTF-8"); 
$conn = sqlsrv_connect($serverName, $connectionInfo); 

if($conn) { 
    echo "Connection established.<br />"; 
}else{ 
    echo "Connection could not be established.<br />"; 
    die(print_r(sqlsrv_errors(), true)); 
} 

$tsql = "SELECT * FROM Obras"; 
$stmt = sqlsrv_query($conn, $tsql); 

if($stmt === false) { 
    echo "Error in executing query.</br>"; 
    die(print_r(sqlsrv_errors(), true)); 
} 

echo "Query: sucesso \n"; 

$json = array(); 

while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { 
     $json[] = $row; 
    } 

header('Content-type: application/json; Charset=UTF-8'); 
echo json_encode($json); 

sqlsrv_free_stmt($stmt); 
sqlsrv_close($conn); //Close the connnectiokn first 

exit(); 
?> 

結果:

{"Id":2,"NomeObra":"Super Olimpia","idCliente":"Associa\u00e7\u00e3o Super Olimpia","DataPLevantamento":"4 de agosto de 2016","DataRLevantamento":"4 de agosto de 2016","Estado":"Obra conclu\u00edda ","DataRMateriais":"6 de setembro de 2016","DataInicioObra":"18 de setembro de 2016","DataConclusao":"20 de outubro de 2016","DataVestoria":"18 de setembro de 2016","Obs":"","Prompor":"Gas Fenosa","Levantpor":"Ploran\/Paulo","executpor":"Ploran"} 

問題:

Associa\u00e7\u00e3o 
+0

http://stackoverflow.com/questions/279170/utf-8-all-the-way-through – AbraCadaver

答えて

1

Associa\u00e7\u00e3oは、JSONのバイナリ(または非ASCII)文字をエンコードする公式の方法です。 すべてのJsonパーサーはこの表記を理解できなければなりません。

参照:JSON and escaping characters

関連する問題