AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken MySQL: Collation der Datenbank aendern?
Thema durchsuchen
Ansicht
Themen-Optionen

MySQL: Collation der Datenbank aendern?

Offene Frage von "alcaeus"
Ein Thema von alcaeus · begonnen am 6. Jan 2008 · letzter Beitrag vom 7. Jan 2008
Antwort Antwort
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#1

MySQL: Collation der Datenbank aendern?

  Alt 6. Jan 2008, 17:32
Datenbank: MySQL • Version: 5.0.27 • Zugriff über: SQL
Hallo allerseits,

ich hab eine etwas groessere MySQL-Datenbank, die letztens von MySQL4 auf MySQL5 umgestellt wurde. Als Standard-Collation hat der Server dabei fuer alle Tabellen latin1_swedisch_ci ausgewaehlt. Soweit so gut, die Webseite wird richtig angezeigt, und passt. Nun wuerde ich aber gerne alles auf utf8 umstellen. Wenn ich das encoding der Website (in den Meta-Daten) auf utf8 umstelle, sehe ich nen Haufen Muell - auch das passt an sich, schliesslich sind die Daten ja nicht utf8-codiert.

Meine Frage ist nun: wie kann ich die Datenbank so umstellen, dass alles korrekt angezeigt wird? Mir ist aufgefallen dass es nichts nuetzt, die Collation der Tabelle und der String-Felder zu aendern, da sehe ich immer noch gleich viel Muell. Ich hab aber noch nicht rausgefunden, wie ich den Inhalt der Tabellen umcodieren kann - m.E. ist das noetig. Das Lustige an der Sache ist allerdings: phpMyAdmin schafft es immer noch, die Daten korrekt anzuzeigen, ich sehe nur Muell

Kann mir jemand helfen?

Greetz
alcaeus

PS: ich wuerde eine Loesung bevorzugen, welche aus ALTER TABLE- und UPDATE-Statements besteht; ich hab nicht gerade viel Lust die gesamte Datenbank zu exportieren und dann neu einzuspielen
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: MySQL: Collation der Datenbank aendern?

  Alt 6. Jan 2008, 17:34
Zitat von alcaeus:
ich wuerde eine Loesung bevorzugen, welche aus ALTER TABLE- und UPDATE-Statements besteht; ich hab nicht gerade viel Lust die gesamte Datenbank zu exportieren und dann neu einzuspielen
Ohne mich jetzt darauf behaupten zu wollen, aber ich meine mal gelesen zu haben, dass da nachträglich nicht mehr geht. Das muss schon beim Anlegen der Datenbank angegeben... Aber wie gesagt, ich kann mich da täuschen, und ist sicher auch ein bischen Datenbank abhängig.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: MySQL: Collation der Datenbank aendern?

  Alt 6. Jan 2008, 17:46
Zitat von Jelly:
Ohne mich jetzt darauf behaupten zu wollen, aber ich meine mal gelesen zu haben, dass da nachträglich nicht mehr geht. Das muss schon beim Anlegen der Datenbank angegeben... Aber wie gesagt, ich kann mich da täuschen, und ist sicher auch ein bischen Datenbank abhängig.
Hmm, das waere schlecht.

Ich hab bis jetzt nur folgendes gefunden:
ALTER TABLE <tbl_name> CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; Das hat leider nichts gebracht - es wurde immer noch Muell angezeigt.

BTW: Als ich versucht hab, die SQL-Datei der Datenbank anzupassen (einfach im CREATE TABLE das "latin1" durch "utf8" ersetzen), kam beim Einspielen des Backups ein Duplicate-Key-Error - wenn ich die Statements im Original belasse, passiert nichts. Ich hab die Queries auch manuell bearbeitet, es kann also nicht sein dass ich zufaellig auch Daten im SQL-File geaendert hab

Noch jemand eine Idee?

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: MySQL: Collation der Datenbank aendern?

  Alt 6. Jan 2008, 22:26
Zitat von alcaeus:
Das hat leider nichts gebracht - es wurde immer noch Muell angezeigt.
Wie sieht der Müll z.B. für ein ä aus? Wenn es phpMyAdmin richtig macht liegt wohl der Fehler bei deinen Zugriffskomponenten oder der in deinem Programm stattfindenten Umcodierungen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

Re: MySQL: Collation der Datenbank aendern?

  Alt 6. Jan 2008, 22:52
Zitat von Bernhard Geyer:
Wie sieht der Müll z.B. für ein ä aus? Wenn es phpMyAdmin richtig macht liegt wohl der Fehler bei deinen Zugriffskomponenten oder der in deinem Programm stattfindenten Umcodierungen.
Es ist eine Website, der Zugriff erfolgt ueber die Standard-Funktionen (mysql_query etc.)

Der "Muell" ist im IE das altbekannte Kaestchen fuer unbekannte Zeichen, im Firefox ein Fragezeichen in einem um 45 Grad gedrehten Quadrat

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: MySQL: Collation der Datenbank aendern?

  Alt 7. Jan 2008, 06:45
Zitat von alcaeus:
Der "Muell" ist im IE das altbekannte Kaestchen fuer unbekannte Zeichen, im Firefox ein Fragezeichen in einem um 45 Grad gedrehten Quadrat
Und wenn du denn Quellcode der Seite dir anzeigen läßt. Was steht dort drin?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#7

Re: MySQL: Collation der Datenbank aendern?

  Alt 7. Jan 2008, 07:23
Jetzt, wo Bernard es anspricht... Ich habe ein ähnliches Problem mit einer PHP Seite. Sie wird im Browser falsch abngezeigt, im Quelltext steht aber alles korrekt. Es ist in meinem Fall also kein Problem von MySQL, sondern vom Webserver... Leider hat sich unser Admin des Problems aber noch nicht angenommen, was aber auch nicht so tragisch ist. Aber es ist definitiv kein Problem von MySQL, zumal ein anderer Client (Win32 Prozess) auch keine Probleme mit der Darstellung hat.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: MySQL: Collation der Datenbank aendern?

  Alt 7. Jan 2008, 07:59
Jetzt fällt mir auch wieder ein das ein Kunde auch mal mit Korrekten UTF8-Codierten HTML-Dateien hatte, da der Webserver diese als Latin-1 im HTTP-Header gekennzeichnet hattte und die Browser der HTTP-Angabe vorrang gewähren.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#9

Re: MySQL: Collation der Datenbank aendern?

  Alt 7. Jan 2008, 11:31
Zitat von Bernhard Geyer:
Zitat von alcaeus:
Der "Muell" ist im IE das altbekannte Kaestchen fuer unbekannte Zeichen, im Firefox ein Fragezeichen in einem um 45 Grad gedrehten Quadrat
Und wenn du denn Quellcode der Seite dir anzeigen läßt. Was steht dort drin?
Da stehn auch der "Muell" drin, deshalb ging ich davon aus dass es ein Problem mit der Datenbank oder der Verbindung ist.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz