• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Es regnet, ist neblig und kalt, alle sind krank und der Chef wird zunehmend cholerisch. Das Thema des Monats ist also folgerichtig --> Das Grau(en)
    Wir sind gespannt, war Euch dazu einfällt! Zum Wettbewerb --> Klick

Umstellung auf UTF-8

Honkmeier

James Grieve
Registriert
23.03.06
Beiträge
135
Hallo,
ich möchte ohne grpße Not, einfach nur, weils grade jeder tut, meine bestehenden Webseiten auf UTF-8-Codierung umstellen. Insbesondere bei den Datenbank-Inhalten hab ich da so meine Probleme. Wenn ich einfach die statischen Dateien in UTF-8 codiere und die entsprechende Meta-Deklaration einbaue, werden die Datenbankinhalte falsch dargestellt... Will auch nicht tausend utf8_encode() reinfieseln...
Gibts irgendne galante Lösung?


Grüße aus Regensburg
Sebastian
 

Sapiens

Alkmene
Registriert
25.05.06
Beiträge
34
Hi,

genau das selbe Problem hatte ich vor kurzem auch. Und ich hab mir nach längerem Suchen nach einer einfachen Lösung nicht besser zu Helfen gewusst, als ein Datenbankdump zu erstellen, dieses auf meinen lokalen Rechner zu laden, dort zu öffnen (dauerte bei meiner über 10 MB Datei etwas), dann wieder speichern und dabei den gewünschten Zeichensatz angeben (also UTF-8). Dann Dump wieder hochladen und einspielen.

Höchst umständlich, geht sicher auch einfacher, ich weiß aber net wie... :(

Dieser Weg hat jedenfalls bei mir geklappt ;)

Edit: Hab grad was gefunden, vielleicht hilfts dir ja: http://mythwiki.de/index.php/HOWTO_Datenbank_UTF8
 

smoerkels

Gast
utf-8 unterstützt aber keine umlaute ?!?!?!?! :(
wenn ich isearch2 (php/mysql basierte suche) auf utf-8 laufen lasse, werden die umlaute ignoriert. deswegen bleibe ich bei iso-....
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.060
Honkmeier schrieb:
Insbesondere bei den Datenbank-Inhalten hab ich da so meine Probleme.
Es gibt die Möglichkeit beim Verbinden mit der Datenbank das verwendete Encoding anzugeben, läßt man diese Option weg, wird das Encoding der DB benutzt. Das Feature habe ich bisher nur mit PostgreSQL genutzt, bei MySQL sollte es das auch geben -> Doku.

Richtig gut funktioniert das nur, wenn man die DB in UTF-8 kodiert hat, und bestimmte Clients nur mit ISO-8859-x die Verbindung aufbauen. Was passiert, wenn Du Zeichnen nutzt, die nicht im Zeichenvorrat des DB Encodings sind mußt Du in der Doku zu Deinem DBMS nachlesen (wichtiger Punkt).
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.060
smoerkels schrieb:
utf-8 unterstützt aber keine umlaute ?!?!?!?!
UTF-8 unterstützt den kompletten Unicode Zeichensatz. Du machst den Fehler, daß Du in einem UTF-8 String nach einem ISO-8859-x String suchst, das kann natürlich nicht funktionieren. Entweder dekodierst Du den UTF-8 String nach UCS-4 und suchst in ihm dann die Umlaute als UCS-4 String oder Du kodierst Dein Suchstring von ISO-8859-x nach UTF-8 und suchst in dem UTF-8 String.

Sowohl PHP, wie MySQL als auch PostgreSQL verfügen über die notwendigen (De)-Kodierungsfunktionen. Wenn Du viel Volltestsuche machst solltest Du Dir PostgreSQL anschauen, dafür gibt es eine DBMS Erweiterung, die es ermöglicht innerhalb der DB sehr schnell Volltextsuche zu machen.
 

Toddy

Wohlschmecker aus Vierlanden
Registriert
10.05.04
Beiträge
242
tjp schrieb:
Wenn Du viel Volltestsuche machst solltest Du Dir PostgreSQL anschauen, dafür gibt es eine DBMS Erweiterung, die es ermöglicht innerhalb der DB sehr schnell Volltextsuche zu machen.

Eine entsprechende Erweiterung (Sphinx) gibt es für MySQL ebenfalls, wie schnell diese ist kann ich jedoch leider nicht sagen.