Geplante UTF-8 Umstellung Galleryblog

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Geplante UTF-8 Umstellung Galleryblog

    Hallo.

    Bin momentan am verzweifeln.
    Zur Vorgeschichte: Habe seit fast 2 Jahren ein Gallerie/Blog-System in Entwicklung, nähert sich der Fertigstellung, derzeit im grossen Offlinetest+Bugfixing, Adminbereich ist über Sprachdateien mehrsprachig ausgelegt.

    Im Zuge des allgemeinen Hypes habe ich nun auch die fixe Idee, das Ganze (Admin- und Ausgabebereich) sinvollerweise von ISO auf UTF-8 Charset umzustellen.

    Zwecks der verschiedenen Probleme habe ich seit längerem Prof. Google und viele, viele Forensuchmaschinen heisslaufen lassen, sowohl dt. als auch eng. - ich finde einfach nichts aussagekräftiges. K.a. ob ich mich einfach zu blöd anstelle oder etwas übersehen habe...

    Problem 1: Datenbank
    Das System läuft stabil mit SQlite oder wahlweise MySQL >=3.23 laufen, Unicode wird erst ab 4.1 unterstützt, SQlite kann wohl entweder für ISO oder UTF-8 kompiliert werden, von einer Benutzung UTF-8/PHP/SQlite wurde abgeraten (war glaube ich auf der SQlite-Website).

    Problem 2: PHP
    ...unterstützt UTF-8 nicht von Haus aus - einige Stringfunktionen sind beispielsweise nicht kompatibel, erst durch die OPTIONALE Mbstring-Extension wird UTF-8 Unterstützung möglich. Kann aber nicht vorausgesetzt werden.
    utf8_de/encode funktionieren auch nur mit dem Standart-ISO-Charset.
    Positiv: preg_-Funktionen können mit UTF-8 Strings benutzt werden;

    Mein bisheriger Plan war also:
    - UTF-8 erst ab MySQL>=4.1,mit mbstring extension installiert.
    - SQlite/MySQL<4.1, kein mbstring => standart ISO 8859-1 Charset.

    Andererseits verwendet ja zum Beispiel WordPress UTF-8, setzt als Requirement MySQl ab 3.23 voraus, von mbstring finde ich nichts.

    Wie machen die das also? Wird beispielsweise Text als UTF-8 eingegeben, quasi "as is" in die DB gespeichert, ebenso einfach wieder ausgegeben - voila, UTF-8?
    Wie funktioniert dann z.B. die Sortierung via SORT BY xyz? Die Datenbank denkt ja immernoch, der Sortierparameter besteht aus 1Byte-Zeichen?
    Auf einigen Seiten wurde die Problematik angesprochen (a ´la "man muss dann eben auf Sortierfunktionalität verzichten"), allerdings habe ich noch nie eine Lösung gefunden...

    Viel Blabla, was suche ich jetzt eigentlich - Antworten zur Frage nach der Verwendung des UTF-8 Charsets mit PHPMySQLab 3.23, keine mbstring extenstion installiert - also quasi eine Minimalkonfiguration.
    Wie funktioniert es, hat jemand nützliche Links oder Ideen/Denkanstösse - oder hat jemand die gleiche Problematik hinter sich und evtl. einen Lösungsansatz?

    Die sauberste Lösung wäre sicherlich wie o.g. - MySQL>=4.1 +mbstring required, sonst kein UTF-8.

    Trotzdem reizt es mich, das Ganze auch unter MySQL3.23 zum Laufen zu bekommen - irgendwie scheint es ja zu funktionieren...

    Freue mich über jede Hilfe.
    Zuletzt geändert von cyw; 01.11.2005, 15:55.

  • #2
    ich nutze auch utf-8. einfach via php einen passenden header senden, damit auch rückgabe aus html korrekt als utf-8 angeliefert werden.

    die daten dann einfach in die db hacken und fertig. ;-)

    bei der ausgabe nicht mehr htmlentities() sondern htmlspecialchars() verwenden.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Hmmm, ok - wie hast Du das Problem

      - mit der Sortierung durch die DB (3.23?) und
      - den Stringfunktionen gelöst ?

      Oder gibt es gar keine Sortierprobleme und/oder ist mbstring installiert ("überschreibt" dann wohl automatisch die standart-stringfunktionen)

      Die Geschichten mit kein-entities-dafür-specialchars, dem header(), Meta-Charset, Formular-Charset, ggf. bei MySQL>=4.1 SET names/character_set, character_set_connection sind klar, das sind auch die Angaben die ich durch Intensiv-Googlen herausbekommen habe, trotzdem danke
      Zuletzt geändert von cyw; 01.11.2005, 16:00.

      Kommentar


      • #4
        Oder gibt es gar keine Sortierprobleme und/oder ist mbstring installiert ("überschreibt" dann wohl automatisch die standart-stringfunktionen)
        das was ich im moment sortiere sind namen. allerdings ohne umlauten an den wichtigen stellen.

        ich hab's grad mal getestet....

        umlaute sind dann vor den normalen buchstaben. aber das ist in meinem falle nicht weiter schlimm ....

        andere angabe sortiere ich eh nur nach einem sort-parameter bzw nach datum.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar

        Lädt...
        X