invisan
Goto Top

Probleme mit PHP und mssql

Hi zusammen,

ich versuche derzeit auf eine mssql Datenbank mittels PHP zuzugreifen und eine Oberfläche zu schreiben.
Generell klappt das ganze leider nur halb.
Die Datensätze werden zwar gezogen aber leider werden Asiatische Schriftzeichen lediglich als ? angezeigt.
Derzeit nutzen wir noch eine Java Applikation für diese Aufgabe aber dort sollen einige Sachen geändert werden.
Leider haben wir den Sourcecode nicht mehr da der Kollege der das ganze damals programmiert hat nicht mehr im Unternehmen ist.
Daher und auch um es etwas schöner und einfacher zu machen wollte ich das ganze in PHP neu aufbereiten.

Hier ein Beispiel:
Text aus dem Java Programm:
360免费WiFi	5.3.0.3070

Text der PHP Ausgabe:
360??WiFi 	5.3.0.3070

Verwunderlich ist das die PHP Ausgabe mit der Ausgabe vom SQL Server Management Studio übereinstimmt. Auch dort werden die Asiatischen Schriftzeichen nicht angezeigt.

Zum Aufbau der Verbindung nutze ich
extension=php_sqlsrv_71_ts_x86.dll
extension=php_pdo_sqlsrv_71_ts_x86.dll
welche von M$ bereitgestellt werden.

Der Aufruf in der PHP Datei sieht wie folgt aus. Das ganze ist derzeit noch recht einfach gehalten weil ich erst die Zeichen hinbekommen möchte bevor ich weitermache.

<?php
header('Content-Type: text/html; charset=utf-8');  
$count=1;

$server = "Server";  

$info = array( "Database"=>"Datenbank", "UID" => "user", "PWD" => "passwort");  

$conn = sqlsrv_connect( $server, $info);

$res = sqlsrv_query( $conn, 'SELECT DisplayName, DisplayVersion FROM White_List except SELECT DISTINCT DisplayName, DisplayVersion FROM Inv_AddRemoveProgram WHERE Hidden = 0 ORDER BY DisplayName, DisplayVersion' );  


echo("<table>  
	  <tr><td>Zeile</td><td>DisplayName</td><td>DisplayVersion</td></tr>");  

while( $row = sqlsrv_fetch_array( $res, SQLSRV_FETCH_ASSOC) ) {
	  $name = $row['DisplayName'];  
          $version = $row['DisplayVersion'];  
      echo "<tr><td>".$count."</td><td>".$name."</td><td>".$version."</td></tr>";  
	  $count++;
}

echo("</table>");  
?>


Die Daten in der Tabelle liegen als nChar vor. Als Webserver nutze ich derzeit XAMPP 7.1.7. Die Datenbank liegt auf einem MSSQL Server 2012.

Das Ausgabe Charset auf UTF-8 umzustellen hat leider nicht funktioniert. Auch mittels iconv bin ich bisher nicht weiter gekommen.


Vielleicht hat von euch ja noch einer eine Idee.


Mit freundlichen Grüßen,

Invisan

Content-ID: 354797

Url: https://administrator.de/contentid/354797

Ausgedruckt am: 25.11.2024 um 13:11 Uhr

127103
127103 14.11.2017 um 16:14:04 Uhr
Goto Top
Hallo,

$info = array( "Database"=>"Datenbank", "UID" => "user", "PWD" => "passwort", "CharacterSet" => "UTF-8" );

probieren.

Gruß c
Invisan
Invisan 14.11.2017 um 19:05:47 Uhr
Goto Top
Hi cuilster,

das hatte ich leider auch schon probiert. Funktioniert leider ebenfalls nicht.

MFG Invi