Wieso änderst du dann nicth einfach das Charset deiner HTML Seite ? Das wäre aus meiner Sicht einfacher..
Gruss,HTML-Code:<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
SteffenR
Hallo zusammen!
Ich habe erst neulich meinen Seitencode in ein neues CSS-Layout integriert und nun das Problem, dass Umlaute sowie ß maskiert ausgegeben werden (also so wie sie in der DB stehen).
Meine Einstellungen sind folgende:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-15"> im Header
In PHPMyAdmin habe ich alle möglichen Einstellungen auf latin1_german1_ci gesetzt.
Auf der Startseite steht aber weiterhin:
MySQL-Zeichensatz: UTF-8 Unicode (utf![]()
Zeichensatz / Kollation der MySQL-Verbindung:
latin1_german1_ci
Soll heißen ich kriege das UTF-8 Unicode nicht weg. Meine Vermutung ist eben dass wenn ich dieses wegkriege, die Umlaute wieder "normal" ausgegeben werden.
Könnt ihr mir bitte sagen, was ich tun muss, damit das alles klappt?
Vielen Dank!!!
Wieso änderst du dann nicth einfach das Charset deiner HTML Seite ? Das wäre aus meiner Sicht einfacher..
Gruss,HTML-Code:<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
SteffenR
Habe jetzt mal alles auf utf-8 gestellt. Nun werden zwar die bereits in der DB enthaltenen Umlaute richtig dargestellt. Wenn ich aber neue Einträge mit Sonderzeichen und Umlauten mache (€ oder ß) funktioniert gar nichts.
wozu haben wir denn die Sticker ?
http://www.traum-projekt.com/forum/1...p-tipps.html#2
TYPO3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
Ich habe jetzt mal die Schritte aus deinem utf-8 Beitrag ausgeführt, mit dem Ergebnis dass gar nichts mehr geht.
Bereits vorhandene Einträge mit Umlauten werden nicht mehr ausgegeben und neu hinzugekommene Einträge mit Umlauten in der Datenbank überhaupt nicht mehr maskiert werden, stattdessen stehen in der DB nur ?????
Ich habe mich auch deswegen für den iso entschieden, weil dieser ja weniger Speicherplatz benötigt und das Euro-Zeichen darstellen kann.
Das Hauptproblem ist somit weiterhin, warum ich das utf-8 Unicode auf der PHPMyAdmin Startseite nicht wegbekomme, alle andern Einstellungen stehen wieder auf iso/latin.
Nun werden Einträge mit Umlauten etc. unmaskiert eingetragen und auch wieder ausgegeben. So weit so gut.
Nun aber folgendes Problem: In meiner DB befinden sich über 2000 Einträge, bei denen Umlaute maskiert wurden. Diese werden jetzt nicht mehr gefunden.
Was mache ich mit diesen (und sagt mir bitte nicht "alle ändern".......)
Sooo, fangen wir mal an, auch wenn ich zweifel, dass alles verstanden wird.
Warum verbraucht UFT-8 nun mehr als eine ISO Codierung?
Bei beiden belegt ein Zeichen minimal 1Bit.
wobei UTF-8 jedoch gewisse Zeichen als ein Zeichen ablegt, werden die mit ISO übersetzt, ergo ist es eher so, das ISO bei bestimmten Zeichen mehr Speicher braucht als UTF-8.
Dann mal zu UFT-8 von PHPmyAdmin:
Was hat nun die Codierung, die PMA verwendet mit Deiner Anwendung zu tun?
Richtig - Nix!
Beim Login in PMA kann man die Sprache und Codierung wählen, das hat schon seinen Sinn.
Datensätze:
Wenn ein Datensatz mit einer anderen Codierung ind ie DB geschrieben wurde und man mal eben eine andere Codierung verwendet, ist es nicht verwunderlich, dass es zu Problemen kommt.
Wenn man & auml; (ohne Leerzeichen) in die DB schreibt und dann auf UTF-8 geht, wird der Datensatz nicht automatisch in ä umgeschrieben. Genau so, wie es anders herum auch nicht geht.
Daher sollte man sich auch vorher Gedanken zur Codierung machen.
Soll also heißen, dass es keine Möglichkeit gibt, die Maskierungen bei meinen bereits vorhandenen Einträgen automatisch durch Umlaute zu ersetzen?Daher sollte man sich auch vorher Gedanken zur Codierung machen.
Was soll ich denn deiner Meinung nach jetzt tun?![]()
![]()
![]()
Endlich die Grundlagen lernen!
Man könnte sich ja eine kleine function schreiben, die die Datensätze entsprechend durch ein Update bearbeitet.
str_replace() könnte da hilfreich sein.
Da liegt die Betonung auf man könnte...
Man könnte auch
... alles löschen und neu anfangen
... es so lassen und damit leben
... alles manuell ändern
... den PC verkaufen und ohne weiterleben
... jemanden beauftragen
... usw.
![]()
Aus dem Fenster springen fehlt noch auf dieser Liste.![]()
Wenn ich es jetzt aber auf utf-8 unicode belassen würde, klappt ja alles bis ich die Seite online stelle. Was ist aber, wenn der Server des Anbieters einen anderen Zeichensatz eingestellt hat als utf-8?
Wäre ich dann wieder bei der Liste?
Du scheinst das immer noch nicht zu verstehen.
Ausgabe kann man mit einem Header einstellen.
DB kann man mit einer Set-Anweisung einstellen.
Server-Einstellungen sind nur default, also wenn man nix angibt.
Es gibt keine Ein-Satz-Antwort, Du musst Dich da schon reinknien, viel lesen, viel ausprobieren, Programmierung ist kein Lego-Baukasten.
TYPO3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
Jetzt steht alles auf utf-8 unicode. Sowohl bereits vorhandene Einträge und auch neu hinzukommende werden maskiert (Umlaute meine ich).
ISO vergesse ich dann erst mal...
Vielen Dank euch allen.
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)