Jump to content

MS SQL Server 2005 adodb php


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen!

Auf einem Windows2003 Service Pack1 Server läuft der MSSQL Server 2005!

 

Aus PHP5 heraus rufe ich mit ADODB die Datenbank folgendermaßen auf:

 

function adoconnect($db_user, $db_pass, $db_dsn, $databasetype='odbc_mssql'){
$db_h =& ADONewConnection($databasetype);
$db_h->debug = FALSE;
//$dsn = "Driver={SQL Server};Server=winonmac\sqlexpress;Database=TestDB";

$db_h->Connect($db_dsn, $db_user, $db_pass);
//$db_h->Connect($db_server, $db_user, $db_pass, $db_dbname);

return $db_h;
}

 

Problem:In der Datenbank stehen kyrillische Zeichen, die nach der Abfrage nur als Fragezeichen dargestellt werden.

Ich habe auch bereits die Funktionen htmlspecialchar(), htmlentities() und mb_convert_variables() auf das Datenbankergebnis angewandt - ohne Erfolg.

 

Wenn ich mit PHP kyrillischen Text aus einer Textdatei lese, wird er richtig dargestellt, daraus habe ich geschlossen, dass an meinem Rechner und an der Webseite die ganzen charset-Einstellungen richtig sind...??

 

Wenn man sich auf eine Oracle Datenbank connected gibts ein

$conn->charSet = 'we8iso8859p1'; (Quelle:docs-adodb.htm)

aber leider für MSSQL nicht???

 

Bin für jede hilfe dankbar, da ich schon seit Tagen auf der Suche bin:-/

Falls noch wichtige Angaben fehlen sollten, bitte schreiben

Danke, Gruß, damdp

Link zu diesem Kommentar

Hab ich schon... Aber so wie es scheint muss die Information irgendwo ZWISCHEN Datenbank und PHP verlorengehen. Nochmal ein paar Informationen:

 

echo mb_detect_encoding("lующ"); //liefert ASCII

echo mb_detect_encoding("Ergebnisstring aus der Datenbank"); //liefert ASCII

 

echo iconv(string in_charset, string out_charset, "Ergebnisstring aus der Datenbank") //Keine Auswirkungen(nur Fragezeichen)(für in_charset und out_charset alle Kombinationen aus ASCII, UTF-8, UCS-2)

 

Auch mb_convert_variables(), htmlspecialchar() und htmlentities() haben in allen Kombinationen keine Auswirkung!

Daraus schließe ich, dass der String schon als Fragezeichen aus der Datenbank kommen muss! Da er aber in der Datenbank korrekt dargestellt ist, denke ich dass es am mssql-odbc oder ADO liegt...

 

Aber ersstmal danke für deine Mühen:-)

Gruß, Tom

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...