EBCDIC in ASCII konvertieren, auf UTF-8 Website
Marc-123
- php
1 dedlfix
Hi,
also ich habe ein Zeichensatz-Problem. Ich möchte EBCDIC in ASCII konvertieren. Und das auf einer Website, bei der ich
header('content-type: text/html; charset=utf-8');
mitliefere.
Ich versuche die Konvertierung mit
$convertText = htmlentities(recode_string("EBCDIC..ASCII", $toConvert));
In der Variable $toConvert ist der per POST übermittelte EBCDIC-Code enthalten. Aber irgendwie funktioniert das nicht, also ich gebe ein:
[kann ich nicht posten]
Rauskommen soll
hallo du
und raus kommt
éfBaSÃÍSÃÍSÃl SÃÏBuBÑ
Jetzt brauche ich Rat und Hilfe.
Vielen Dank. Sitze da schon ein wenig lange dran.
Grüße
Marc
Hi!
also ich habe ein Zeichensatz-Problem. Ich möchte EBCDIC in ASCII konvertieren. Und das auf einer Website, bei der ich
header('content-type: text/html; charset=utf-8');
mitliefere.
Dann willst du nicht ASCII sondern UTF-8 haben, denn die verschiedenen Varianten von EBCDIC beinhalten Zeichen, die mit ASCII nicht kodierbar sind. Außerdem soll es ja in einem Medium mit UTF-8-Kodierung so eingebunden werden, dass der Empfänger die richtigen Zeichen darstellen kann, die der EBCDIC-Text verkörpert.
Ich versuche die Konvertierung mit
$convertText = htmlentities(recode_string("EBCDIC..ASCII", $toConvert));
Warum nimmst du recode und nicht iconv? iconv ist der leistungsfähigere Nachfolger von recode. htmlentities() nimmt ohne explizten charset-Parameter an, dass es ISO-8859-1 bekommt.
In der Variable $toConvert ist der per POST übermittelte EBCDIC-Code enthalten.
Wer setzt denn den POST-Request ab?
Aber irgendwie funktioniert das nicht, also ich gebe ein:
Du gibst etwas ein? Wo, in einem handelsüblichen Browser?
[kann ich nicht posten]
Du kannst dir aber die Hex-Werte ansehen, die du bekommst und schauen, ob das die gleichen sind wie bei der verwendeten EBCDIC-Variante.
Rauskommen soll
hallo du
und raus kommt
éfBaSÃÍSÃÍSÃl SÃÏBuBÑ
In ASCII sind die Zeichen mit den Diakritika gar nicht enthalten.
Für das "hallo du" müsstest du jedenfalls in der Kontrollausgabe der Eingangsdaten diese Bytes sehen:
88 81 93 93 96 40 84 A4
Lo!