Hex Zeichen umwandeln, MIB, SNMP
hawkmaster
- php
Hallo zusammen,
Ich versuche gerade die MIB zweier Geräte mit SNMP abzufragen.
Das klappt soweit. Im gerät bzw. in der MIB liegen die Werte als OctetString.
Mit der Ausgabe:
echo utf8_encode($ausgabe)
kann ich z.b. anzeigen:
Leer: einer von zwei Behältern
Obere Abl. Einschießeinh.
Zumindest bei einer Maschine klappt die Anzeige der Sonderzeichen.
Bei dem zweiten Gerät sollte die Meldung heissen:
Leer: Fixieröl
Als Hex Code liegt vor:
6C 65 65 72 3A 20 46 69 78 69 65 72 9A 6C
Das bedeutet das "ö" wäre 9A. Laut Ascci Tabelle ist das aber das Zeichen
š
Jetzt bin ich mir nicht sicher, ob ich was falsch mache oder ob event. schon das Gerät das "ö" falsch übersetzt hat?
vielen Dank und viele Grüße
hawk
@@hawkmaster:
nuqneH
Als Hex Code liegt vor:
ein Deppenleerzeichen.
Das bedeutet das "ö" wäre 9A. Laut Ascci Tabelle ist das aber das Zeichen
š
Mitnichten. ASCII (7 Bit!) geht nur bis 7F. Du meinst Windows-1252.
oder ob event. schon das Gerät das "ö" falsch übersetzt hat?
Zumindest anders.
Qapla'
Hallo Gunnar,
ein Deppenleerzeichen.
leider kann ich dir hier nicht ganz folgen. Auf was möchtest du mich aufmerksam machen?
Mitnichten. ASCII (7 Bit!) geht nur bis 7F. Du meinst Windows-1252.
Nun da hast du natürlich recht. Bist du mit ANSI einverstanden?
Das bringt mich jedoch leider nicht viel weiter wie ich die Zeichen richtig anzeigen könnte :-)
vielen Dank und viele Grüße
hawk
@@hawkmaster:
nuqneH
ein Deppenleerzeichen.
leider kann ich dir hier nicht ganz folgen. Auf was möchtest du mich aufmerksam machen?
Hex-Code, ASCII-Tabelle.
▲ ▲
Das bringt mich jedoch leider nicht viel weiter wie ich die Zeichen richtig anzeigen könnte :-)
$mib = "Fixieršl";
$mib = [link:http://de.php.net/manual/de/function.strtr.php@title=strtr]($mib, "š…", "ö…");
Qapla'
Hi!
Leer: Fixieröl
Als Hex Code liegt vor:
6C 65 65 72 3A 20 46 69 78 69 65 72 9A 6CDas bedeutet das "ö" wäre 9A. Laut Ascci Tabelle ist das aber das Zeichen
š
Es ist also offensichtlich kein ASCII. Auch keine Kodierung aus der ISO-8859-Familie oder gar UTF-8. Was gibt es sonst noch so an relevanten Kodierungen?
EBCDIC: scheidet aus, da liegen die lateinischen Buchstaben alle anders.
MacRoman: hat an 9A ein ö.
Lo!
Hallo,
Leer: Fixieröl
6C 65 65 72 3A 20 46 69 78 69 65 72 9A 6C
Das bedeutet das "ö" wäre 9A.
MacRoman: hat an 9A ein ö.
cool, Mac hat mal wieder etwas Besonderes. ;-)
Ich hatte schon CP437 in Verdacht (der fest eingebaute Textmodus-Zeichensatz üblicher Grafikkarten), aber da hat ö den Code 94h.
Ciao,
Martin
Hallo dedlfix,
vielen Dank für deine Hilfe.
MacRoman: hat an 9A ein ö.
Hmm. das könnte vielleicht sein.
Wie könnte man diesen Zeichensatz umwandeln?
vielleicht so?
$string = iconv('UTF-8', 'macintosh', $string);
vielen Dank und viele Grüße
hawk
Hallo,
Wie könnte man diesen Zeichensatz umwandeln?
vielleicht so?$string = iconv('UTF-8', 'macintosh', $string);
Damit wandelst Du UTF-8 -> MacRoman. Umgekehrt so:
$string = iconv('macintosh', 'UTF-8', $string);
Viele Grüße,
Christian