Kyrillische Codierung

max

Erfahrenes Mitglied
Ich muss eine Seite auf Kyrillisch umstellen und bin dabei auf ein problem mit der ausgabe der Daten für Flash gestoßen.

Ich übergebe die Daten für flash einfach in einer Datei mit echo.
z.B.:
PHP:
echo "&text=Dieser Text wir in Flash eingelesen&";

So sieht die testausgabe von mir aus.


Normal funktioniert das alles wunderbar, nur mit den kyrillischen Zeichen will das nicht so ganz hinhauen.

Die Schrift die in Flash verwendet wird unterstützt kyrillisch.

Wie muss ich das ganze Codieren damit die Ausgabe funktioniert. (UTF-8 hat nicht funktioniert)

Vielleicht könnt ihr mir noch sagen wass ich sonst noch zu beachten habe, auch für die HTML version.
Dort geht es zwar mit UTF-8 einwandfrei, aber geht das dann auch auf allen Rechnern (Mac,...).

Mir fehlt irgendwie die Erfahrung mit Russisch ;).

danke
max
 
Hallo,

die Browserausgabe sieht zwar nicht verkehrt aus, ist aber definitiv nicht UTF-8 kodiert.
1.
Code:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
muß lauten
Code:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

2. Sofern der Text im ISO-8859-1Format vorliegt, sollte er mittels utf8_encode nach UTF-8 kodiert werden.

3. Ich empfehle zusätzlich noch den Header mittels PHP vor jeglicher Ausgabe zu modifizieren, um dem Ausgabelement das Charset "aufzuzwingen":
Code:
header('Content-Type: text/html; charset=utf-8');

So werden die Daten definitiv UTF-8 kodiert an den Browser (bzw. deine Schnittstelle) gesendet.

mfg Bloddy
 
Hoppala hab ich vergessen hinzuschreiben.
Ist mir schon klar das die Ausgabe nicht UTF-8 ist, hab da mehrere ausprobiert, mit UTF-8 hats aber nicht geklappt, mit rawurlencode auch nicht.

Mit einer Textdatei die mit UTF-8 abgespeichert wurde funktioniert es auch, jetzt bin ich beim überlegen ob ich die ausgabe aus der Datenbank für Flash nicht in eine solche Textdatei schreibe, wobei ich das nicht so gut finde, wäre um eine andere Lösung (kürzer) schon sehr froh.

Bin bei meiner suche schon auf die funktion convert_cyr_string() gestoßen, hilft damit komme ich auch irgendwie nicht so recht weiter.

Das mit dem Header über PHP versenden werde ich dann gleich nach dem Wochenende ausprobieren, kenn mich leider im Flash selber nicht so aus.
 
So bin jetzt so weit das die HTML Version einwandfrei geht aber bei der Flash Version wills nicht hinhaun.

An Flash übergebe ich die Daten so:
Code:
&rus2=...Russischer Text aus DB...&

Wenn ich meine PHP Datei aufrufe wird es auch korrekt angezeigt,
nur im Quelltext stehen dezimale Zeichencodes ( & # 1 0 5 0 ;* ):

Code:
&rus2=??????????&

Woher die dezimalen Codes kommen weis ich zwar.
Die Datenbank wandelt den Text automatisch in solche Maskierungen
um wenn ich ihn einfüge.

Ist MySQL Version 2.23.49 bei der ich meines Wissens nach kein Charset
angeben kann (gibts ja erst seit 4.1 oder so).

Kann ich diese dezimalen Zeichencodes ( & # 1 0 5 0 ;* ) via PHP so umwandeln das
sie im Quelltext schon korrekt dargestellt werden?


danke
max

p.s. Im Flash wird so ein HTML Textfeld mit Unicode verwendet

* Leerzeichen wegdenken
 
Zurück