Zurück   Flashforum > Flash und Server > Flash mit XML und Webservices

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-07-2010, 10:59   #1 (permalink)
access denied
 
Benutzerbild von Gurth
 
Registriert seit: Jan 2006
Ort: Düsseldorf
Beiträge: 86
Problem mit Sonderzeichen in XML-File

Hallo zusammen,

habe mir einen kleinen Karteikarten-Vokabeltrainer in Flash programmiert. Das Array mit den Vokabeln wird dynamisch aus einer XML-Vokabelliste erzeugt.

Probleme bereitet mir allerdings die Verwendung von Sonderzeichen im XML-file. Habe die Datei auf ISO 8859-1 gesetzt, weil ich leider neben den deutschen Umlauten auch noch viele Sonderzeichen (å,æ,ø) in der Vokabelliste brauche, aber auch das scheint nicht zu reichen. Auf manchen Rechnern wird die Liste korrekt eingelesen und in der .swf läuft alles wie es soll, auf anderen Rechnern werden die Umlaute/Sonderzeichen in der .swf einfach übersprungen und der Vokabeltrainer spinnt rum.

Wie bekomme ich Flash nun dazu, meine XML-Datei mit ISO-encoding zu schlucken und mir immer und überall die korrekte Vokabelliste einzulesen? Ich möchte halt nicht immer die html-Sonderzeichen-Codierung nachpflegen müssen, damit es läuft.

Noch zur Info: Das Tool ist für die Offline-Benutzung vorgesehen, d.h. code replacement mit php o.ä. ist nicht drin ;-)

Oder hab ich hier ein Brett vorm Kopf, und es gäbe eine viel sinnvollere Lösung, um so eine Vokabelliste a) einfach pflegen zu Können (ohne Flash immer wieder verwenden zu müssen) und b) perfekte Kompatibilität zu gewährleisten? ;-)

Bin für jede Hilfestellung dankbar!
LG, Gurth
Gurth ist offline   Mit Zitat antworten
Alt 24-07-2010, 11:41   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
das XML muss als utf-8 abgespeichert sein
und in flash müssen diese zeichen (die verstecken sich unter den latainischen zeichen) mit eingebettet sein. naja, im eingebetteten schriftschnitt müssen die auch vorhanden sein. aber da dann der schriftschnitt im swf mit drinn ist, kann es nicht auf einem rechner mal gehen und auf dem anderen nicht?

also damit kann es keine probleme geben!!!? kyrillisch oder chinesisch, da ja, aber die lateinischen sprachen sollten alle funktionieren.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (24-07-2010 um 11:44 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 24-07-2010, 11:51   #3 (permalink)
access denied
 
Benutzerbild von Gurth
 
Registriert seit: Jan 2006
Ort: Düsseldorf
Beiträge: 86
Unhappy

Danke erstmal. Mich irritiert das ja selbst. Die Zeichen sind alle eingebettet, und auf das ISO encoding bin ich ja erst "aus Verzweiflung" umgestiegen, weils mit utf-8 nicht geklappt hat.

Habe gerade noch mal alles geprüft, nix zu machen. die Umlaute aus der XML Datei werden in der .swf einfach übersprungen, bzw. manchmal scheint der ganze String ab dem dann fehlenden Sonderzeichen abzureißen...auch der Array, der aus der Liste erzeugt wird, scheint an dieser Stelle abzureißen, da keine Einträge mehr ab dem ersten Sonderzeichen existieren. D.h. bereits beim Erstellen des Arrays kommt Flash mit den Zeichen nicht klar, somit kann das Problem nicht im darstellenden Textfeld liegen...

Gibts noch einen second-level Ansatz...?

Thx, Gurth
Gurth ist offline   Mit Zitat antworten
Alt 24-07-2010, 14:06   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
verwende einmal einen anderen schriftschnitt (keine systemschrift)!
welchen benützt du?

texte in den xml-nodes in CDATA blöcke? kann zumindestens nichts schaden.

ansonsten müsste man mal etwas von dir sehen.
möglichst reduziert das xml und dein script.
weil theoretisch geht das alles.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (24-07-2010 um 14:09 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 24-07-2010, 14:44   #5 (permalink)
access denied
 
Benutzerbild von Gurth
 
Registriert seit: Jan 2006
Ort: Düsseldorf
Beiträge: 86
Hmmmmmmmmm....

könnte es daran liegen, dass ich meine XML-Datei auf attributes ausgerichtet habe

PHP-Code:
<?xml version='1.0' encoding='utf-8'?>
    <words>
        
        <element nor="Hei!" de="Hi, Hallo" />
        <element nor="Heisann!" de="Hi, Hallo (persönlicher)" />
        <element nor="Mor'n!" de="Hallo, Moin!" />
        <element nor="Goddag" de="Guten Tag (eher unüblich)" />
        <element nor="God morgen" de="Guten Morgen" />
        
    </words>
statt "echte" nodes mit end-tag und richtigem inhalt (den mann dann ja zusätzlich noch in CDATA setzen könnte) zu verwenden?

Ja/Nein reicht, bevor ich testweise versuche, meine XML und dann das Script umzubauen...

Bin leider noch recht unerfahren im Umgang mit XML-Daten...

Thx, Gurth
Gurth ist offline   Mit Zitat antworten
Alt 24-07-2010, 14:49   #6 (permalink)
access denied
 
Benutzerbild von Gurth
 
Registriert seit: Jan 2006
Ort: Düsseldorf
Beiträge: 86
Das hier ist übrigens der Script-Schnipsel, der das Array aus den Daten erzeugt:

PHP-Code:
XMLdaten.onLoad = function(success) {
    if(
success) {
        
myArray = new Array(XMLdaten.firstChild.childNodes.length);
        for(var 
i:Number 0XMLdaten.firstChild.childNodes.lengthi++) {
            
myArray[i] = new Array(XMLdaten.firstChild.childNodes[i].attributes.de,XMLdaten.firstChild.childNodes[i].attributes.nor);
        }
    }    

Gurth ist offline   Mit Zitat antworten
Alt 24-07-2010, 15:21   #7 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
deine files wollte ich sehen, lade das mal hoch
ich will nachgucken, ob's auch wirklich ein utf-8 file ist ;-)

alles als attribute ist nicht im sinne des erfinders. hat aber nicht unbedingt etwas mit deinem problem zu tun. wollte nur alles mögliche ausschliessen.

und bei deinem script würden sich meine haare zu berg stellen, wenn's noch so viele wären ;-) aber direkt falsch ist das jetzt auch nicht
Code:
XMLdaten.onLoad = function(success) { 
  if(success) { 
    myArray = []; 
    var nodes = this.firstChild.childNodes;
    var anz = nodes.length;
    for(var i:Number = 0; i<anz; i++) {
      myArray.push([nodes[i].attributes.de, nodes[i].attributes.nor]); 
    } 
  }     
}
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 24-07-2010, 15:27   #8 (permalink)
access denied
 
Benutzerbild von Gurth
 
Registriert seit: Jan 2006
Ort: Düsseldorf
Beiträge: 86
Danke für den Hinweis zur Code-Hygiene, ich gelobe Besserung :-D Anbei mal mein "Projekt" komplett als zip, ich denke, das erklärt sich alles von selbst...

Und nochmal Danke für deine fortlaufende Mühe!
LG, Gurth
Angehängte Dateien
Dateityp: zip vokabel.zip (51,9 KB, 2x aufgerufen)
Gurth ist offline   Mit Zitat antworten
Alt 24-07-2010, 16:00   #9 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
war mir klar, das XML ist nicht in ordnung (weil grundsätzlich geht das).

versuchs mal mit einem anderen programm:
du kannst das XML auch mit flash selbst erstellen oder dreamweaver geht auch gut.

jedenfalls zur zeit hat das XML für z.b. das ö eine falsche codierung.
das es tatsächlich so ist: dafür sende ich dir das xml zurück. schau mal, ob du damit nationale sonderzeichen siehst (ich schon ;-)
Angehängte Dateien
Dateityp: zip wordlist.xml.zip (340 Bytes, 3x aufgerufen)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 24-07-2010, 16:41   #10 (permalink)
access denied
 
Benutzerbild von Gurth
 
Registriert seit: Jan 2006
Ort: Düsseldorf
Beiträge: 86
Ich mache eigentlich alles, was mit scripting oder Programmierung zu tun hat, mit FlashDevelop und war davon ausgegangen, dass dieses Tool mit Codierungen vernünftig umgehen kann...wie kann es denn sein, dass Dreamweaver ein funktionierendes xml-File ausgibt, und FlashDevelop nicht?

Ich würde zum Pflegen dieser Liste halt gerne ein kleines Tool verwenden, dass ich auch mal schnell mit auf den USB-Stick packen kann, statt die fetten Umgebungen wie Flash oder Dreamweaver verfügbar haben zu müssen...hast du da einen Tipp für mich?

Danke und LG, Gurth
Gurth ist offline   Mit Zitat antworten
Alt 24-07-2010, 17:00   #11 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
ich bin mac'ler. wir brauchen keine tricks, bei uns geht immer alles :-)))

ist nicht gesagt, das FlashDevelop utf-8 schreibt. aber vielleicht kann man das irgendwo einstellen?
und eigentlich sollte jedes (kostenlose) textedit-programm das können. denke, sogar wordPad macht das richtig?

(hätte jetzt eher auf eine datenbank getippt, die nicht richtig codiert wurde)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
xml+Sonderzeichen Problem Anmos ActionScript 2 8 17-09-2008 15:40
sonderzeichen "&" in externen txt file..... dark_fire Flash MX 5 07-09-2004 17:33
php 5 File upload mit sonderzeichen hal9000 PHP und MySQL 5 01-09-2004 18:55
Big Problem mit Sonderzeichen!!! TigerFox Flash MX 2 02-12-2003 15:12
Sonderzeichen Problem mcpilz Flash MX 1 03-03-2003 01:06


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

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


Copyright ©1999 – 2012 Marc Thiele