Simon: RTF-Datei utf-8-codiert...

Beitrag lesen

Hi Gonzo,

Ich habe mal spaßeshalber eine Dekodierroutine gebastelt, die ohne externe Hilfen auskommt. So ganz trivial, wie ich dachte, war das mitsamt Fehlerprüfungen dann doch nicht …

WOW, nicht schlecht. Und schon mal besten Dank für das Angagement!
Doch leider funktioniert die Funktion bei mir nicht...

Folgendes habe ich getestet:

  
  
// Ich habe den Text auch testweise aus einer DB geladen, jedoch mit dem gleichen Ergebnis.  
$text = "Test von Simon äöüßµ \par ENDE";  
print utf8rtf($text);

Ausgabe: "{\uc0Test von Simon ????? \par ENDE}"

Ich habe in die Fkt mal verschiedene Ausgaben eingebaut um zu prüfen wo $x = false gesetzt wird.
Es scheint bei der Überprüfung zu passieren:

  
// Gelesenen Unicode-Wert prüfen  
if (($x !== false) || ($i != $u["sequenz"] - 1) || ($x < $u["min"])) { // Fehlerhafte utf-8-Bytefolge: Keine Sequenz oder zu lang bzw. zu kurz oder einen Wert in einer zu großen Sequenz geparkt.  
  $x = false;  
}  

Die Datei ist als "UTF-8, no BOM" abgespeichert, die Seite mit UTF-8 Codierung ausgegeben. Wenn ich $text einfach ausgebe, ist es auch lesbar...

Hast du die Zeile
//$utf[] = Array("sequenz" => "1", "startmaske" => 128, "startcode" => 0, "min" => 0); // - ein Byte lässt sich gesondert schneller behandeln
absichtlich auskommentiert? Wenn ich sie nicht auskommentiere geht es jedoch auch nicht...

Irgend eine Idee was ich anders mache als Du?

Vielen Dank!

  • Simon