Michael Mühling: Sprache/Fontsteuerung bei Datenbankanbindung

Wir wollen eine internationale Ansprechpartnerdatenbank mit Sybase SQL Anywhere und Perl realisieren. Streng genommen sind wir mitten dabei.
Jeder Länderverantwortliche trägt seine Daten selbst ein. Anhand eines Rechtesystems können wir erkennen, wer gerade eingibt bzw. ausliest. Läuft schon.
Jetzt kommen die Probleme mit den Fremdfonts wie beispielsweise Grieschich oder Kyrillisch.
Wir wollen erreichen, daß der jeweilige Länderverantwortliche seine Daten richtig ein- und ausgeben kann, er muss nicht unbedingt in der Lage sein, die Daten anderer Länder lesen zu können.
Wie können wir das steuern? Genügt die META-Angabe charset=iso... oder müssen wir an noch anderen Stellen ran.
Eine Überlegung war auch, alle Eingaben einfach mittels regulärer Ausdrücke z.B. in Entities umzuwandeln. Das dürfte aber nach meiner Kenntnis an den osteuropäischen und asiatischen Ländern scheitern.
Gleiche Idee hatten wir auch schon mit dem Unicode-System.
Wer hat hier gute Ideen & Erfahrungen
Danke vorab
Michael

  1. Moin,

    Jetzt kommen die Probleme mit den Fremdfonts wie beispielsweise Grieschich oder Kyrillisch.
    Wir wollen erreichen, daß der jeweilige Länderverantwortliche seine Daten richtig ein- und ausgeben kann, er muss nicht unbedingt in der Lage sein, die Daten anderer Länder lesen zu können.
    Wie können wir das steuern? Genügt die META-Angabe charset=iso... oder müssen wir an noch anderen Stellen ran.

    ihr habt ein mittelschweres Problem.
    Wenn ich es richtig verstehe, gibts also irgendwelche Webformulare, die einem Perlscript irgendwelche Daten senden.
    Und da beginnt der Spass: Der Browser teilt dem Script gewoehnlich nicht mit, was fuer einen Zeichensatz der User gerade benutzt hat (verstehe ich bis heute nicht, wieso diese, wirklich wichtige Angabe fehlt).

    Nun ja, langer Rede kurzer Sinn: Meines Erachtens solltet ihr euer System komplett auf Unicode umstellen. (UTF-8 beispielsweise, die gaengigen Browser sind dazu in der Lage).

    Hier im Forum passiert etwa folgendes:
    Wenn du dir mal view-source:http://www.teamone.de/selfaktuell/forum/?m=150738&t=28960 anschaust, steht da im Eingabeformular sowas:

    <input type="hidden" name="qchar" value="&#255;»» ">
                                             ^^^^^^
    diese &#255; kommt, wenn der Browser UTF-8 sendet, beim Script als ÿ an. (U+00FF als UTF-8 codiert).
    Wenn etwas anderes kommt, koennte dein Script die Formulardaten mit einem entsprechenden Hinweis beispielsweise ablehnen.

    Eine Überlegung war auch, alle Eingaben einfach mittels regulärer Ausdrücke z.B. in Entities umzuwandeln. Das dürfte aber nach meiner Kenntnis an den osteuropäischen und asiatischen Ländern scheitern.
    Gleiche Idee hatten wir auch schon mit dem Unicode-System.

    genauso wuerde ich es mir vorstellen.

    * Eine vollstaendige Unicode-Implementierung, damit ist das System konsistent und relativ einfach zu handhaben
    * Fuer die Ausgabe wird das ganze in Entities codiert. Hier im Forum tut das Modul http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/selfforum/selfforum-cgi/shared/Encode/Plain.pm?only_with_tag=HEAD seinen Dienst, welches mit ISO-8859-1 und UTF-8 umgehen kann. Es werden /einige/ Zeichen in benannte Entities gemappt (ä ß etc.), der Rest in die Unicode-Variante (&#12345; etc.)

    Hmm, jor, bleibt noch zu sagen, dass, um die Sachen lesen zu koennen, der entsprechende Schriftsatz beim User installiert sein muss.

    HTH &

    Viele Gruesse,

    n.d.p.