zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Umlaute in MySQL Datenbank falsch, aber richtig auf Seite

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 04.08.2013, 16:41
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.07.2007
Beiträge: 29
HaraldMenza befindet sich auf einem aufstrebenden Ast
Standard Umlaute in MySQL Datenbank falsch, aber richtig auf Seite

Hallo auch an alle hier,

habe ein kleines Script, welches Daten aus einem Formular in eine MySQL DB speichert. Standard also.

Die Tabelle, sowie alle die PHP/HTML Seiten sind in UTF-8 kodiert. Wenn ich jetzt z.B. den Namen Müller eingebe, steht in der Datenbank aber Müller.

Wenn diese Daten nun von einem zweiten PHP Script ausgelesen und angezeigt werden (diese php-Datei ist auch UTF-8 kodiert), wird das ü richtig angezeigt.

Wenn ich aus Müller in der Datenbank aber Müller mache und das Script es dann ausliest, erhalte ich ein Fragezeichen, weil es mit dem "ü" offenbar nichts anfangen kann.

Wieso ist das so? Wie kann es ich es so ändern, dass in der Datenbank auch korrekterweise Müller steht und das auch im Script richtig angezeigt wird?

Vielen Dank!
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 04.08.2013, 17:36
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 10.12.2006
Beiträge: 887
threadi sorgt für eine eindrucksvolle Atmosphärethreadi sorgt für eine eindrucksvolle Atmosphäre
Standard

Vermutung: deine Datenbankverbindung wurde nicht mit dem Zeichensatz utf-8 initialisiert.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 04.08.2013, 17:42
?!?
XHTMLforum-Kenner
 
Registriert seit: 20.03.2013
Beiträge: 1.638
explanator sorgt für eine eindrucksvolle Atmosphäreexplanator sorgt für eine eindrucksvolle Atmosphäre
Standard

Du hast die falsche Zeichencodierung in deiner Datenbank stehen, damit ist aber nicht collation gemeint.

Du musst zudem festlegen das die Datenverbindung zur Datenbank auch in UTF8 geschieht.

MySQL :: MySQL 5.1 Referenzhandbuch :: 10.3 Festlegen von Zeichensätzen und Sortierfolgen

PHP: mysqli::set_charset - Manual
__________________
"Wieso ist der Code schrott, ich dachte hier seien Profis..."
Aus einem Forum.
Mit Zitat antworten
  #4 (permalink)  
Alt 04.08.2013, 19:01
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 26.07.2007
Beiträge: 29
HaraldMenza befindet sich auf einem aufstrebenden Ast
Standard

Danke für eure Hilfe.

Leider funktioniert es noch immer nicht 100%ig:

Ich habe die Datenbank, die Tabellen, die MySQL Verbindung (aber mit SET_NAMES) und alle Dateien (.php per Editor) auf UTF-8 eingestellt.

Jetzt passiert folgendes:
Script 1 - speichert die Daten, z.B. Name Müller richtig in die Datenbank - dort steht jetzt Müller.

Script 2 - auch in UTF-8 kodiert zeigt aber M?ller an. Wenn ich dieses zurückkodiere auf ANSI, zeigt es Müller wieder richtig an. Was muss ich denn da noch machen?

Vielen Dank!
Mit Zitat antworten
  #5 (permalink)  
Alt 04.08.2013, 19:35
?!?
XHTMLforum-Kenner
 
Registriert seit: 20.03.2013
Beiträge: 1.638
explanator sorgt für eine eindrucksvolle Atmosphäreexplanator sorgt für eine eindrucksvolle Atmosphäre
Standard

Script2 ist nicht als UTF-8 abgespeichert. Dieses Script im Editor aufrufen und als UTF-8 abspeichern.

Je nach Editor muss man teilweise 2 mal durch den Wechselprozess ISO - UTF-8 bis das Script dann auch tatsächlich als UTF-8 gespeichert wurde.
__________________
"Wieso ist der Code schrott, ich dachte hier seien Profis..."
Aus einem Forum.
Mit Zitat antworten
  #6 (permalink)  
Alt 05.08.2013, 07:14
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von HaraldMenza Beitrag anzeigen
habe ein kleines Script, welches Daten aus einem Formular in eine MySQL DB speichert. Standard also.

Die Tabelle, sowie alle die PHP/HTML Seiten sind in UTF-8 kodiert. Wenn ich jetzt z.B. den Namen Müller eingebe, steht in der Datenbank aber Müller.
Was heißt "steht in der Datenbank"? Womit liest du das aus? Dieses Zeichen ist ein UTF-8 Zeichen, dass du in einer ISO kodierten Umgebung darstellst. Also nach deiner Beschreibug ist alles richitg, nur deine Kontrollumgebung ist falsch.

Zitat:
Zitat von HaraldMenza Beitrag anzeigen
Wenn diese Daten nun von einem zweiten PHP Script ausgelesen und angezeigt werden (diese php-Datei ist auch UTF-8 kodiert), wird das ü richtig angezeigt.
Dann zeigst du das Zeichen in der richtigen Kodierung an.

Zitat:
Zitat von HaraldMenza Beitrag anzeigen
Wenn ich aus Müller in der Datenbank aber Müller mache und das Script es dann ausliest, erhalte ich ein Fragezeichen, weil es mit dem "ü" offenbar nichts anfangen kann.
Das Fragezeichen ist ein ISO Zeichen in einer UTF-8 Umgebung. D.h. das Programm mit dem du hier versuchst zu kontrollieren benutzt die falsche Kodierung.
Mit Zitat antworten
  #7 (permalink)  
Alt 05.08.2013, 07:17
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von HaraldMenza Beitrag anzeigen
Ich habe die Datenbank, die Tabellen, die MySQL Verbindung (aber mit SET_NAMES) und alle Dateien (.php per Editor) auf UTF-8 eingestellt.

Jetzt passiert folgendes:
Script 1 - speichert die Daten, z.B. Name Müller richtig in die Datenbank - dort steht jetzt Müller.

Script 2 - auch in UTF-8 kodiert zeigt aber M?ller an. Wenn ich dieses zurückkodiere auf ANSI, zeigt es Müller wieder richtig an. Was muss ich denn da noch machen?
Die Ausgabe von script 2 ist in ISO kodierit und die von Script 1 in UTF-8. Die Kodierung des Skriptquellcode spielt in dem Fall keine Rolle.

Das komische ist, dass du hier anscheinend ein Programm zum kontrollieren benutzt das die richtige Kodierung verwendet, denn du sagst (steht) "richtig in der Datenbank" - womit hast du das kontrolliert? Mit dem selben Programm wie in deiner Ursprünglichen Frage?
Mit Zitat antworten
  #8 (permalink)  
Alt 08.08.2013, 15:34
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Zitat:
Zitat von protonenbeschleuniger Beitrag anzeigen
Das komische ist, dass du hier anscheinend ein Programm zum kontrollieren benutzt das die richtige Kodierung verwendet, denn du sagst (steht) "richtig in der Datenbank" - womit hast du das kontrolliert? Mit dem selben Programm wie in deiner Ursprünglichen Frage?
Da er zwischenzeitlich die den Zeichensatz der Verbindung geändert hat, hat er wahrscheinlich mit PHPMyAdmin probiert. Ich kenne das Problem selber, habe hier im Forum auch schon einmal nach einer Lösung gefragt.
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[IE] Seite wird erst nach einem Reload richtig angezeigt campylobacter CSS 3 29.07.2006 14:57
Menü wird nach Einbau in fertige Seite nicht richtig angezei unicorn CSS 11 03.02.2006 14:23
Anzeige erst nach Aktualisierung der Seite in FF richtig el_vital CSS 2 17.12.2005 17:14
Darstellung erst falsch... bei reload dann richtig..? chow180976 CSS 13 01.07.2005 14:55
Seite wird falsch dargestellt jogisarge CSS 6 22.03.2005 18:40


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:51 Uhr.