2012-03-29 7 views
2

Ich versuche, einige Berichte in HTML aus einer MSSQL 2005-Datenbank-Dump, aber es gibt ein kleines Problem bei dem Versuch, SpalteNamen angezeigt werden (nicht die Spaltendaten selbst, die korrekt angezeigt werden), die akzentuierte Zeichen enthalten - sie werden stattdessen durch Fragezeichen ersetzt.PHP und MSSQL/sqlsrv - Spaltennamen Fragezeichen anstelle von akzentuierten Zeichen enthalten

Ich verwende den sqlsrv-Treiber für PHP, der unter IIS7 läuft. Das PHP-Skript selbst ist UTF-8-codiert.

$connection_info = array("Database" => "ProjectManager", "UID" => DB_USER, "PWD" => DB_PASS , "CharacterSet" => "UTF-8"); 
    $conn = sqlsrv_connect(DB_HOST, $connection_info) or die("FAIL"); 

Das erste, was nach dem Ausführen der Abfrage Dumping Spaltennamen in eine Tabelle:: Ich bin in Bezug auf die SQL Server-Verbindungs ​​

$qry = "EXEC [dbo].[dummy_report] @year=2012, @month=3"; 
$res = sqlsrv_query($conn, $qry); 
foreach(sqlsrv_field_metadata($res) as $fieldData) { 
    echo "<th>".$fieldData['Name']."</th>"; 
} 

Diese Daten werden in der Datenbank gespeichert sind gut genug behandelt; Spaltennamen - nicht so sehr:

enter image description here

Normalerweise würde ich nicht gehen Datenbankspalten in Slowakisch zu nennen, aber ich versuche nur das Ergebnis einer gespeicherten Prozedur angezeigt werden und ich bin nicht wirklich Diese Feldnamen können Sie bequem in das PHP-Skript codieren.

Also, Zeichensatz. Wat tun?

+1

Haben Sie das CharacterSet in driver_options auf UTF-8 gesetzt? Siehe: http://msdn.microsoft.com/en-us/library/ff628167(v=sql.105).aspx – dbrumann

+0

Ja, es ist im $ connection_info-Array im OP angegeben (es wird vor neugierigen Blicken durch eine Horizontale geschützt) Scrollleiste). – Halka

+0

"Spaltennamen mit Akzentbuchstaben" OH GOD. * rennt wie der Wind * –

Antwort

Verwandte Themen