Datenbanken Charsetangelegenheiten

  • Hallo,
    mich würde mal interessieren wo ihr überall wenn ihr eine Datenbank
    anlegt das Charset für die Webseite anpasst.

    Man kann ja jede Spalte, jeder Tabelle und jeder Datenbank eine Kollation
    zuweisen. Nur wenn man überall wo es möglich dies macht dauerts ja ewig
    bis man mal alles angelegt hat und was passiert wenn man die Kollation
    gar nicht ändert?

    Hier mal Bilder die in PHP MyAdmin mit der Kollation zu tun haben:

    [Blockierte Grafik: http://www.abload.de/thumb/pic088a89e.png] [Blockierte Grafik: http://www.abload.de/thumb/pic090l3ie.png] [Blockierte Grafik: http://www.abload.de/thumb/pic091m8x6.png] [Blockierte Grafik: http://www.abload.de/thumb/pic092x6e1.png]

  • Man kann ja jede Spalte, jeder Tabelle und jeder Datenbank eine Kollation
    zuweisen. Nur wenn man überall wo es möglich dies macht dauerts ja ewig
    bis man mal alles angelegt hat und was passiert wenn man die Kollation
    gar nicht ändert?

    Was dauert da bitte ewig? Das ist eine einmalige Sache. Einmal angelegt, fertig.

    oder auch

    Code
    SET NAMES utf-8

    Wenn die Datenbank wie auch die zu speichernden Texte utf-8 sind dann muss man diesen Befehl vor jeder Speicherung von MySQL-Daten an die Datenbank übergeben. Mit dem Erstellen einer Datenbank hat das imho wenig zu tun :o

  • Wenn man über 24 Tabellenspalten hat ist dies nicht gerade eben gemacht.

    Mir geht es hier viel mehr daraum was IHR einstellt wenn ihr eine Datenbank anlegt. Wo stellt ihr bei der Kollation was ein und weswegen, das wollte ich wissen.

  • MySQL auf meinen Servern ist bereits auf utf-8 eingestellt. Wenn ich die Datenbank über phpmyadmin anlege gebe ich "utf8_general_ci" als Kollation an. Alle darin erstellten Tabellen und Tabellenspalten sind dann automatisch auch "utf8_general_ci" - ich muss nicht extra irgendwo noch einmal die Kollation angeben während ich irgendwas anlege oder konfiguriere.

    Btw. solltest Du dir vielleicht ein Datenbankmodellierungsprogramm suchen. Dort kannst Du dir die benötigten Spalten und Verbindungen zusammenklicken. Es kann dir dann entweder die SQL-Statements zum Erzeugen zur Verfügung stellen oder direkt in der Datenbank diese Änderungen vornehmen. Ich verwende dafür z.B. das EMS SQL Management Studio.

  • Wenn die Datenbank wie auch die zu speichernden Texte utf-8 sind dann muss man diesen Befehl vor jeder Speicherung von MySQL-Daten an die Datenbank übergeben. Mit dem Erstellen einer Datenbank hat das imho wenig zu tun :o

    Richtig.

    Zudem auch noch ein falscher Befehl^^
    der Vollständigkeit halber:

    Code
    set names 'utf8'

    Am Thema vorbei ists trotzdem nich so ganz, wie ich grade eben wieder feststellen durfte ;)
    Beispiel:
    Du hast eine wunderschön auf utf-8 eingestellte Datenbank, sogar drauf geachtet. dass die Scripte nur utf-8 Daten abschicken, und dann machst du eine kleine Änderung manuell per phpmyadmin oder Ähnlichem.
    Dieser schickt Daten als iso-was-auch-immer an die db, welche dann auch so ausgeliefert werden.
    Um also sicherzustellen, dass der Browser dann auch urf8 erhält, hilft 'set names' sehr gut.
    Und es reicht ja, ihn einmal direkt nach Verbindungsaufbau abzuschicken ;)