tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
Like Tree1Danke
ERLEDIGT
JA
ANTWORTEN
21
ZUGRIFFE
435
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    qsrs qsrs ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    454
    Also das scheint alles doch nicht ganz so trivial zu sein. Ich habe an manchen Ausgaben die Anzeige mittels mysql_query("SET NAMES 'utf8'"); korrekt bekommen, an anderen Stellen wird mir z.B. statt äüöß dann äüöß angezeigt, wenn ich mysql_query("SET NAMES 'utf8'"); nach der Verbindung verwende. Lasse ich das weg, ist die Ausgabe korrekt. Wo also angeben, und wo nicht? Das Umstellen der Felder in der DB auf utf-8, hat nichts gebracht. Ich habe gelesen, dass auch in den Formularen utf-8 verwendet werden sollte. Also der Aufwand ist, wenn man alles berücksichtigt, imens.
     

  2. #17
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.961
    Meine Datenbanken laufen standardmäßig mit UTF8 als Kodierung und ich hatte bisher nie ein Problem damit.
     
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  3. #18
    Avatar von Da_Chris
    Da_Chris Da_Chris ist offline Mitglied Platin
    Registriert seit
    Feb 2007
    Ort
    Augsburg
    Beiträge
    651
    ja einfach ist es nicht.....
    Ich würde dir empfehlen mit einer leeren Datenbank anzufangen.
    Denn wenn schon Daten drin sind kannst du dir m.E. nicht sicher sein ob es jetzt korrekt in utf-8 kodiert ist.
    Fang mit einer leeren Datenbank an und wenn alles wie gewünscht passt kümmere dich um das wiedereinpflegen der Daten.

    Zitat Zitat von einfach nur crack Beitrag anzeigen
    Meine Datenbanken laufen standardmäßig mit UTF8 als Kodierung und ich hatte bisher nie ein Problem damit.
    Ja nur hier handelt es sich um ein Problem bei der Umstellung der Daten und genau da kommen die Probleme auf.
    Wenn man von Anfang an einen Server hat bei dem utf-8 konsequent eingesetzt wird kennt man derartige Probleme nicht.
    Geändert von Da_Chris (02.11.09 um 19:55 Uhr)
     
    Google und die Forensuche beantworten 50% aller Fragen!
    Pflichtlektüre: Das PHP Handbuch als Windows Help Datei

    Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
    [PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]

    Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.

  4. #19
    qsrs qsrs ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    454
    Da_Chris hat es richtig erkannt, es geht um ein bestehendes System, deshalb wohl jetzt auch die Schwierigkeiten.

    Also bei einem neuen Projekt wäre dann auf Folgendes zu achten: (?)
    - DB-Felder mit UTF-8
    - Verbindungen mit mysql_query("SET NAMES 'utf8'");
    - evtl. Formulare mit UTF-8 kodieren, oder nicht notwendig?
    - utf8_encode() und utf8_decode() noch notwendig?

    Ich würde dir empfehlen mit einer leeren Datenbank anzufangen.
    Neue Datenbank heißt im Prinzip nichts anderes, als alle Tabellen-Felder entsprechend mit UTF-8 anzulegen, richtig? Was verwendet ihr hier? utf8_general_ci oder utf8_unicode_ci? Habe auch in manchen Systemen schon utf8_bin gesehen. Im Deutschen und Französischen funktioniert utf8_unicode_ci wohl mit der Sortierung gut, aber es soll ja mehrsprachig sein und hier hat keine Sprache Vorrang, alle sind gleichwertig zu behandeln.
     

  5. #20
    Avatar von Da_Chris
    Da_Chris Da_Chris ist offline Mitglied Platin
    Registriert seit
    Feb 2007
    Ort
    Augsburg
    Beiträge
    651
    Nun nicht unbedingt wenn der server entsprechend eingerichtet ist reicht ein eintrag im metatag des html um den client browser auf utf8 hinzuweisen.
    Vorraussetzung ist Apache in einer aktuellen Version und eine Datenbank die utf8 kodiert ist.
    Für dein Problem kann man als Workaround wenn du das Projekt nicht komplett aufsetzen willst utf8_en/decode einsetzen damit sollte es hinhauen.
     
    Google und die Forensuche beantworten 50% aller Fragen!
    Pflichtlektüre: Das PHP Handbuch als Windows Help Datei

    Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
    [PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]

    Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.

  6. #21
    qsrs qsrs ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    454
    ...und eine Datenbank die utf8 kodiert ist.
    Kann man die Datenbank selbst UTF-8-kodieren oder meinst du damit einfach, die Felder entsprechend zu kodieren?
     

  7. #22
    Avatar von Da_Chris
    Da_Chris Da_Chris ist offline Mitglied Platin
    Registriert seit
    Feb 2007
    Ort
    Augsburg
    Beiträge
    651
    sollte ausreichen die Felder zu kodieren sofern es sich um aktuelles mysql handelt.
    set names kann helfen bei problemen sollte aber nicht notwendig sein.
    und ob general_ci oder was anderes is erstmal egal das hat mit der sortierung intern zu tun. Ich verwende general_ci und bin glücklich damit.
    Nur wenn du mal bei querys bestimmte sortierung brauchst musst du dich in die mysql doku einlesen
     
    Google und die Forensuche beantworten 50% aller Fragen!
    Pflichtlektüre: Das PHP Handbuch als Windows Help Datei

    Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
    [PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]

    Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.