Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-12-2005, 17:36   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Ort: Heidelberg
Beiträge: 37
superdringend: XML.load - Teil Zwo

Nach dem Laden von XML-Daten werden die Daten per AS in dynamisch erzeugte Textfelder eingetragen. Bei 98% geht das bis auf ein paar nicht korrekt dargestellte Zeichen korrekt (trotz utf8-Kodierung), aber bei einem Textfeld ist die Schrift nach dem einlesen auf 50% reduziert und plötzlich rechtsbündig. Ohne irgendwelche Formatierungen oder co. Es gibt im Textfeld kein HTML, html-interpretation für die Textfelder ist auf false, Texte sind definitiv in utf8 kodiert.

- Wie bekomme ich ohne manuelle PHP-Zeichenersetzungsorgien die fehlerhaften Zeichen (angezeigt durch ein quadrat) weg?
- ist jemandem schonmal dieses Formatierungsproblem begegnet?

-- lars
icebaer ist offline   Mit Zitat antworten
Alt 01-12-2005, 17:46   #2 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
hi lars, das hätte auch in einen einzigen post gepast, zumal der zusammenhang völlig auseinander gerissen wird ...

wat die sonderzeichen angeht, schau ma in meine signatur (Flash PHP and back) zur ernüchterung sei noch gesagt, das es ohne "orgie" nicht funktioniert ...

{edit} nach nochmaligem lesen scheint mir, als würde es doch an deinen textfeldern liegen. hast du mal geprüft, ob der eingebettete font die zeichen unterstützt?
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.

Geändert von shorty (01-12-2005 um 17:51 Uhr)
shorty ist offline   Mit Zitat antworten
Alt 01-12-2005, 17:59   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Ort: Heidelberg
Beiträge: 37
Ja, wir haben mittlerweile zwei verschiedene Schriften, zwei verschiedene Plattformen (Mac & PC) und zwei verschiedene Versionen (Flash 7 Pro und Flash8Pro Eval) ausprobiert ohne effekt. Einige Zeichen sind halt nicht dargestellt - okay, ersetzungssessions - aber der andere Effekt geht mir auf die Nerven. Jetzt ist - ohne dass wir etwas geändert hätten - bei einem Neuladen der .swf ein einzelnes Textfeld zwar linksbündig (wie sich's gehört) und in der richtigen Schriftgröße, aber dafür ist der Zeilenabstand plötzlich mittendrin doppelt anstatt einfach... Argh!

Dein Code ist zwar für das damalige Problem hilfreich, aber ich hab die Daten leider schon vorliegen und müsste die dann sowieso durchgehen. Trotzdem merci für den Tipp, ich hatte das bisher über base64_encode / -decode erledigt.
icebaer ist offline   Mit Zitat antworten
Alt 01-12-2005, 18:04   #4 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
kann man sich das irgendwo ansehen ...? (script, fla)
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.
shorty ist offline   Mit Zitat antworten
Alt 01-12-2005, 18:17   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Ort: Heidelberg
Beiträge: 37
Leider nicht. Die Datenbasis ist Eigentum vom Auftraggeber und die darf nicht einfach veröffentlicht werden.

Wir hatten die meiste Zeit mit einem Testdatensatz gearbeitet, den wir zum Testen auch mal in fünffacher Größe eingespielt hatten, was flash ohne murren verkraftet hat. Nur jetzt mit den richtigen Daten gibts Probleme...

Ich schau mal ob ich das Problem irgendwie eingrenzen kann. Die entsprechenden Datensätze hab ich mittlerweile und nehm sie jetzt Zeichen für Zeichen auseinander, wobei ich vermute, dass das Problem nicht durch ein einzelnes Zeichen kommt. Trotzdem schonmal Danke fürs Gehör.
icebaer ist offline   Mit Zitat antworten
Alt 01-12-2005, 18:27   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Ort: Heidelberg
Beiträge: 37
Kurzer Nachtrag: Liegt nicht an irgendwelchen Zeichen. Zumindest bekomme ich die Fehler nicht reproduziert. Sie erscheinen bei einem Mal, und beim nächsten Mal nicht mehr. ARGH!

Kann es sein, dass Flash für die schnellere Bearbeitung Threads anstatt Prozesse aufruft und es über shared memory zu softwareglitches kommt?
icebaer ist offline   Mit Zitat antworten
Alt 01-12-2005, 18:38   #7 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
nicht reproduzierbar ist sehr schlecht .

die beiden unteren fragen kann ich dir nicht beantworten...

darfst du denn wenigstens die xml, welche geladen werden soll posten?
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.
shorty ist offline   Mit Zitat antworten
Alt 01-12-2005, 18:42   #8 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Ort: Heidelberg
Beiträge: 37
urm... die xml basiert auf der Datenbasis.

edit:
Aber die xml ist definitiv valide, da firefox sich da ganz nach dem XML-Standard verhält und sich bei kleinsten Fehlern wie nicht unterstützten Zeichen oder nicht geschlossenen Tags oder so mit einer netten Fehlermeldung verabschiedet.

Geändert von icebaer (01-12-2005 um 18:43 Uhr)
icebaer ist offline   Mit Zitat antworten
Alt 01-12-2005, 18:52   #9 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
hmmm, tut mir leid, wenn nicht mal code o.ä, drin ist, kann ich dir nicht weiter helfen...
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.
shorty ist offline   Mit Zitat antworten
Alt 01-12-2005, 18:56   #10 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Ort: Heidelberg
Beiträge: 37
Ich weiß. Trotzdem danke fürs Helfen.
Erstmal Pizza. Vielleicht kommt die Lösung mit mehr Kohlenhydraten im Hirn.
icebaer ist offline   Mit Zitat antworten
Alt 01-12-2005, 18:57   #11 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
dit wurmt mich jetzt aber! wenn du die pizzzzZZZZzzza verdrückt hast, poste pls den vollständigen trace string der xml aus'm ausgabenfenster.

aka.
PHP-Code:
objXML.onLoad = function (ok) {
   if (
ok) {
      
trace(this);
   }

{edit 1} und bitte, wenns geht auch dein AS, oder mind., falls auch jenes ur save ist, den weg, wie du die xml lädst... spontan fällt mir noch: timing problem ein ...

{edit 2} enthält die xml folgende zeile: <?xml version="1.0" encoding="UTF-8" ?>
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.

Geändert von shorty (01-12-2005 um 19:21 Uhr)
shorty ist offline   Mit Zitat antworten
Alt 01-12-2005, 19:37   #12 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 272
hmm die xml ist aber statisch?

oder wird von php geschrieben?

in letztrem falle such mal nach "utf8_encode"

btw hatte ich letztens das problem das ich mit winblöd notpad auch zig mal als UTF-8 abgespeichert hatte und dann doch eclipse starten musste und erst dann gings.

ich hab jetzt eben so rausgelesen das es nicht immer die selben zeichen sind, da würde dann echt ein trace und die original xml weiterhelfen.

mfg
Muh_Lan ist offline   Mit Zitat antworten
Alt 01-12-2005, 20:41   #13 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Ort: Heidelberg
Beiträge: 37
@shorty: Die xml nützt dir auch nichts. Die einzigen Sonderzeichen darin sind linefeeds, carriage returns, Satzzeichen und Hochkommata... Aber ich frag mal meinen Arbeitgeber, ob wir die zwei fehlerhaften Datensätze freigeben dürfen, "zu debug-Zwecken".
- das trace gibt "true" aus
- Hab die entsprechende Klasse angehängt. Sinn der Klasse ist der Zusammenbau eines Arrays, der dann später von verschiedenen Klassen abgearbeitet wird.
- jup, hats. Allerdings hatte ich stellenweise als encoding iso-8859-1 eingestellt. Da war ich ein wenig unsystematisch, die letzten Nächte waren kurz wegen der Deadline.


@Muh_Lan: hab utf-8 per utf8_encode() erzeugt und über mb_detect_encoding() verifiziert. Das einzig merkwürdige ist, dass *vor* dem utf8_encode() die mb_detect_encoding() überhaupt keine Aussage macht.
- die php wird dynamisch aus der Datenbasis erzeugt (3tier-Architektur)
Angehängte Dateien
Dateityp: zip jobControl.zip (1,5 KB, 5x aufgerufen)

Geändert von icebaer (01-12-2005 um 20:52 Uhr)
icebaer ist offline   Mit Zitat antworten
Alt 01-12-2005, 21:02   #14 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
oh, das sieht schon recht spezifiziert aus ... bevor wir rum-murksen warten mer besser auf die freigabe.

btw: um nochmal auf die kästchen in den textfeldern zu sprechen zu kommen. die erscheinen definitiv nur, und wirklich ausschließlich nur dann, wenn ein zeichen nicht interpretiert werden kann, guck dort pls nochmal genau drüber, und versuch alle möglichen & unmöglichen durch...
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.

Geändert von shorty (01-12-2005 um 21:06 Uhr)
shorty ist offline   Mit Zitat antworten
Alt 01-12-2005, 21:11   #15 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Ort: Heidelberg
Beiträge: 37
@Shorty:

I know.
Ich hab mir dafür jetzt ein kleines Script geschrieben, dass mir von jedem Zeichen den Asciicode ausspuckt:

PHP-Code:
$array str_split($datastring);
$i 0;
foreach ( 
$array as $letter ) {
    print 
$i.': '.ord($letter).' => '.$letter."\n";
    
$i++;
}
unset(
$data_arr); 
Ist zwar nervig, das alles durchzuschauen, aber darüber hab ich jetzt ein kleines Replace-array gebastelt, dass jeden String über eine foreach(...)-Funktion abarbeitet und die nicht darstellbaren Zeichen ersetzt.
icebaer ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 08:56 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele