Typenkonvertierung (char to binary bzw. binary to char)

arink

Grünschnabel
Hallo,

ich habe folgendes Problem. Ich habe eine Applikation in PHP geschrieben die auf eine MS SQL Datenbank(SQL 2005) zugreift.

Ich habe dort ein Feld vom Datentyp varbinary(256), dort wird ein Wert gespeichert, aktuell ist dort beim Auslesen(unkonvertiert) folgendes gespeicher: #'!„·*zî®ÌôO´æs. Beim Speichern(andere Applikation die auf die Datenbank zugreift) wird der Wert dort gespeichert.
Kurzum: Ich gebe in ein Feld z.B. 123456 ein und das wird dort als Binärwert gespeichert. Ich möchte nun den Wert auslesen und konvertiert sehen können. Leider hatte ich bis jetzt noch nicht mal beim Auslesen erfolgt.

Egal ob ich bei der SQL Abfrage CAST oder Convert nutze, geht es nicht. Funktionen in PHP bringen mich auch nicht weiter.

Habt ihr eine Idee wie ich aus #'!„·*zî®ÌôO´æs wieder das eigentliche eingegeben umwandeln kann
 
Ich kann mich irren, aber mir fiele in diesem Falle direkt der befehl unpack() ein.
Mit diesem kannst du Binary's umwandeln.

In deinem Fall, wenn es sich um zahlen handelt
PHP:
unpack($varBinary,I);

Allernativ bin ich beim Suchen noch auf:
PHP:
$hexString = bin2hex($binaryString);
$ascii = '';
for($ix = 0; $ix <= strlen($hexString) - 1; $ix += 2)
{
   $ascii .= chr(hexbin(substr($hexString, $ix, 2)));
}
echo $ascii;

gestoßen könnte ebenfalls funktionieren.

Gruß,
MeySolution
 
OK ich in jetzt soweit das der insert funktioniert, aber der String ist eindeutig zu kurz
ich mache beim Insert ein CONVERT(varbinary(256),'String')

Eine Idee was hier das Problem sein könnte?
 
Zuletzt bearbeitet:
Zurück