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
http://stackoverflow.com/questions/279170/utf-8-all-the-way-through – AbraCadaver