mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 11:40 Benutzername: Passwort: Auto-Login

Thema: [XML + Flash] Umlaute ... vom 15.12.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [XML + Flash] Umlaute ...
Autor Nachricht
escaPe
Threadersteller

Dabei seit: 10.09.2007
Ort: <? include("home.htm") ?>
Alter: 112
Geschlecht: Männlich
Verfasst Mo 15.12.2008 18:10
Titel

[XML + Flash] Umlaute ...

Antworten mit Zitat Zum Seitenanfang

hab folgendes Problem

ich fülle dynamische Textfelder mit Werten aus einer XML-Datei die bekommt sie wiederrum aus
einer MySQL Datenbank.

hier meine XML (php) Datei

Code:

flash.php:

<?php
$timestamp = time();
$date = date("l",$timestamp);
if ($date=='Monday')
{$date='Montag';} else
if ($date=='Tuesday')
{$date='Dienstag';} else
if ($date=='Wednesday')
{$date='Mittwoch';} else
if ($date=='Thursday')
{$date='Donnerstag';} else
if ($date=='Friday')
{$date='Freitag';} else
if ($date=='Saturday')
{$date='Samstag';} else
if ($date=='Sunday')
{$date='Sonntag';}

$uhr = date("His",$timestamp);
$uhrbis = $uhr+50000;

include ("login.php");
$abfrage = "SELECT ID, Wochentag, TIME_FORMAT(Uhrzeit,'%H:%i') AS Uhrzeit_formatiert, Headline, Kurz, Link FROM tabelle WHERE Uhrzeit > '$uhr' AND Uhrzeit < '$uhrbis' AND Wochentag ='$date'";


echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
echo "<events>\n";

 $ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
    { echo "<event ID=\"",$row->ID,"\" Wochentag=\"",$row->Wochentag,"\" Uhr=\"",$row->Uhrzeit_formatiert,"\" Headline=\"",$row->Headline,"\" Kurz=\"",$row->Kurz,"\" Link=\"",$row->Link,"\" />\n";
   }
   
echo "</events>";
   
mysql_free_result($ergebnis);
mysql_close();
?>


ruf ich die Datei über den Browser auf werden mir ü ä ö dargestellt.

dann hohl ich mir die Daten in die FLash Datei.

hier mein AS Script


Frame 1:
Code:

var XMLdaten = new XML();
var maxi=0;
var Anzahl=-1;
XMLdaten.ignoreWhite = true;
XMLdaten.load("flash.php");


XMLdaten.onLoad = function(success) {
   XMLdaten_ID = [];
   XMLdaten_Wochentag = [];
   XMLdaten_Uhr = [];
   XMLdaten_Headline = [];
   XMLdaten_Kurz = [];
   XMLdaten_Link = [];
   
      if (success) {
         for (var i=0; i<XMLdaten.firstChild.childNodes.length; i++) {
            XMLdaten_ID[i] = XMLdaten.firstChild.childNodes[i].attributes.ID;
            XMLdaten_Wochentag[i] = XMLdaten.firstChild.childNodes[i].attributes.Wochentag;
            XMLdaten_Uhr[i] = XMLdaten.firstChild.childNodes[i].attributes.Uhr;
            XMLdaten_Headline[i] = XMLdaten.firstChild.childNodes[i].attributes.Headline;
            XMLdaten_Kurz[i] = XMLdaten.firstChild.childNodes[i].attributes.Kurz;
            XMLdaten_Link[i] = XMLdaten.firstChild.childNodes[i].attributes.Link;
            maxi++;
            }
         }
   }

Frame 2:

Code:

_root.Anzahl++;
if (_root.Anzahl >= _root.maxi) {
   _root.Anzahl=0;
   }


Frame 3:

Code:

stop();   
   i = _root.Anzahl;
   ID.text = _root.XMLdaten_ID[i];
   Wochentag.text = _root.XMLdaten_Wochentag[i];
   Uhr.text = _root.XMLdaten_Uhr[i];
   Headline.text = _root.XMLdaten_Headline[i];
   Kurz.text = _root.XMLdaten_Kurz[i];
   Link.text = _root.XMLdaten_Link[i];

   countDown = function(weiter){
      play();
      clearInterval(timer);
        }
   timer = setInterval(countDown, 1000);
   


Jetzt hab ich folgendes schon probiert

encoding="UTF-8" hat leider keinen Erfolg gebracht (ich denke das hier alles läuft da die XML die Umlaute richtig darstellt)

Hab versucht die Umlaute ä ö ü Einzubetten... auch kein Erfolg (Die textfelder wurden erst garnicht angezeigt)

und auch folgendes in Flash reingesetzt:

System.useCodepage = true;

hat auch keinen erfol gebracht alle Felder wurden als undefined ausgegeben

Ich hab auch schon gelesen das man das XML Dokument selbst als UTF-8 abspeichern soll,
was aber hier nicht klappt das es ein .php Dokument ist.

Naja vielleicht hat noch jemand einen Tipp. Wäre darüber dankbar

grüße escaPe


Zuletzt bearbeitet von escaPe am Mo 15.12.2008 18:11, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 15.12.2008 18:34
Titel

Antworten mit Zitat Zum Seitenanfang

Der Tipp ist, die Boardsuche zu bemühen. Übrigends ist die Zeichenkodierung komplett unabhängig von der verwendeten Sprache, in diesem Falle php. Aber du hast ein einer Beziehung recht, du generierst den XML-String ja per php, und das unterstützt nunmal kein Unicode. Dafür gibts aber die Funktion <Doku Vorleseservice> http://de2.php.net/utf8-encode

Zuletzt bearbeitet von bacon am Mo 15.12.2008 18:35, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Mo 15.12.2008 18:35
Titel

Antworten mit Zitat Zum Seitenanfang

Ist deine Datenbank denn auf UTF-8 gestellt ?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
escaPe
Threadersteller

Dabei seit: 10.09.2007
Ort: <? include("home.htm") ?>
Alter: 112
Geschlecht: Männlich
Verfasst Mo 15.12.2008 18:43
Titel

Antworten mit Zitat Zum Seitenanfang

ja ist sie. flash liest die Daten ja nicht direkt aus der datenbank sondern aus der XML

Wobei in der XML und in Flash die Daten richtig dargestellt werden.
Deswegen denk ich das es ein Flash Problem ist.

@bacon ich werde mich da sofort reinlesen




edit: sry bacon aber dein Link ist ne Ecke zu hoch für mich.

bin erst seit 4 tagen mit MySQL AS und XML zu gange.


Zuletzt bearbeitet von escaPe am Mo 15.12.2008 18:52, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Kilian

Dabei seit: 12.07.2005
Ort: Magdeburg
Alter: 41
Geschlecht: Männlich
Verfasst Mo 15.12.2008 19:11
Titel

Antworten mit Zitat Zum Seitenanfang

Ich beweg mich jetzt auch auf dünnem Eis und mutmaße einfach mal n bisschen...

Dass deine XML Datei im Browser die Sonderzeichen korrekt darstellt könnte daran liegen, dass der Browser die Sonderzeichen aus der Codierung "ISO-8859-1" richtig ausliest. Flash hingegen nicht.

Dass dein XML-Dokument nicht als UTF-8 ausgeben kannst ist so nicht ganz korrekt.
Wenn ich den Code da richtig deute, gibst du mit der Zeile

echo "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";

eine Codierung an.

Also lautet mein bescheidener Tipp das encoding=\"ISO-8859-1\" an dieser Stelle einfach mal durch ein encoding=\"UTF-8\" auszutauschen. Vielleicht klappt's ja dann. * Keine Ahnung... *


Zuletzt bearbeitet von Kilian am Mo 15.12.2008 19:11, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Smooth-Graphics

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 15.12.2008 19:29
Titel

Antworten mit Zitat Zum Seitenanfang

escaPe hat geschrieben:
edit: sry bacon aber dein Link ist ne Ecke zu hoch für mich.


Was gibt es daran nicht zu verstehen? Die PHP Funktion enkodiert einfach deine eingehenden Daten in ein anderes Format (UTF-*hehe* und gibt das ganze dann als UTF-8 text aus... * Keine Ahnung... *


Kilian hat geschrieben:
Also lautet mein bescheidener Tipp das encoding=\"ISO-8859-1\" an dieser Stelle einfach mal durch ein encoding=\"UTF-8\" auszutauschen. Vielleicht klappt's ja dann. * Keine Ahnung... *


Könnte auch eine gute Sache sein... probier das mal aus und sag was klappt oder eben nicht klappt.


Zuletzt bearbeitet von Smooth-Graphics am Mo 15.12.2008 19:30, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Kilian

Dabei seit: 12.07.2005
Ort: Magdeburg
Alter: 41
Geschlecht: Männlich
Verfasst Mo 15.12.2008 19:38
Titel

Antworten mit Zitat Zum Seitenanfang

Hm. Sicher?

Die Daten sind ja in der Datenbank als UTF-8 codiert, wenn man dem Screenshot glauben schenken darf. Wenn er jetzt die Anfrage auf die Datenbank macht und das Ergebnis nochmal durch die php-Methode jagt hat er UTF-8 Daten zu UTF-8 Daten konvertiert.
Also falls das überhaupt geht. Immerhin steht ja in der Funktionsbeschreibung " An ISO-8859-1 string. " als benötigter Parameter.

Das ändert aber schlussendlich nichts daran, dass in dem XML-File als "encoding" ISO-8859-1 angegeben ist. Und dieses (imaginäre) File ist es ja, was die load-Funktion in Actionscript benötigt.

Ich hasse Sonderzeichen..und Zeichensätze...und Konvertieren... * Ich geb auf... *


Zuletzt bearbeitet von Kilian am Mo 15.12.2008 19:39, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
escaPe
Threadersteller

Dabei seit: 10.09.2007
Ort: <? include("home.htm") ?>
Alter: 112
Geschlecht: Männlich
Verfasst Fr 19.12.2008 18:01
Titel

Antworten mit Zitat Zum Seitenanfang

also wenn ich es auf utf-8 umstelle hab ich es wie folgt

Code:
<?xml version="1.0" encoding="UTF-8"?>
<events>
<event ID="90" Wochentag="Freitag" Uhr="21:00" Headline="firdaynight" Kurz="nahcts ist es dunkel" Link="www.nachtfreitag.de" />
<event ID="89" Wochentag="Freitag" Uhr="19:00" Headline="abend event" Kurz="freitagabendnews" Link="www.freitagevent.de" />
<event ID="88" Wochentag="Freitag" Uhr="17:00" Headline="Event am Fritentag" Kurz="erst ab 17 uhr frittentag" Link="www.frittentag.de" />
<event ID="91" Wochentag="Freitag" Uhr="20:00" Headline="sonderzeichentest ���" Kurz="���" Link="" />
</events>


was ja eigentlich nicht sein dürfte...

ich versteh das echt nicht... ich hohle utf-8 aus einer datenbank und wandel die ihn utf-8

wieso hab ich diese umlaute immernoch nicht...

edit:

okay habs nun endlich geschafft.

wie folgt hab ich die php datei geändert:
Code:

$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
    {
   echo "<event ID=\"",$row->ID,"\" Wochentag=\"",$row->Wochentag,"\" Uhr=\"",$row->Uhrzeit_formatiert,"\" Headline=\"",utf8_encode(htmlspecialchars($row->Headline)),"\" Kurz=\"",utf8_encode(htmlspecialchars($row->Kurz)),"\" Link=\"",$row->Link,"\" />\n";
   }


also einfach die variable mit

utf8_encode(htmlspecialchars($variable))

umgewandelt *zwinker*


Zuletzt bearbeitet von escaPe am Fr 19.12.2008 18:23, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen The good, the bad and the Umlaute in xml vs. flash...
XML in Flash einlesen - Umlaute verschwinden !
Flash + XML Encoding Problem (Umlaute)
umlaute in flash gehen nicht
PHP Umlaute
Umlaute in Dreamweaver
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.