• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] MySQL PHP ausgabe von Umlauten

Status
Für weitere Antworten geschlossen.

InvisibleQuantum

Neues Mitglied
Hay, ich stehe vor einem einem kleinen Problem:
Ich habe eine PHP Seite erstellt die auf meine MySQL Datenbank über PDO zugreift.
Dort werden dann Daten abgefragt, die teilweiße auch Umlaute beinhalten.
Sobald die Daten auf meiner Seite ausgegeben werden, ist anstelle des Umlautes ein Kästchen mit einem Fragezeichen. Leider habe ich keine Lösung gefunden das zu beheben.

Ein paar Infos:
  • Die PHP-Datei ist um UTF-8-Format mit Notepad++ erstellt worden.
  • Im HTML-Header hab ich das hier stehn:
  • Code:
    <meta http-equiv="content-Type" content="text/html; charset=UTF-8" />
  • In der Datenbank hab ich die Kollation auf "latin1_swedish_ci" stehn.
Derzeit hab ich das Problem so gelöst:
Code:
$name = str_replace("ue", "&#252", $name);
$name = str_replace("ae", "&#228", $name);
$name = str_replace("oe", "&#246", $name);
$name = str_replace("Ue", "&#220", $name);
$name = str_replace("Ae", "&#196", $name);
$name = str_replace("Oe", "&#214", $name);
$name = str_replace("ss", "&#223", $name);
Dafür muss ich aber in der Datenbank die Daten z.B. anstelle von Ü,ä,ß mit Ue,ae,ss speichern.
Wobei hier auch dieses ß Probleme macht, da in der Datenbank nicht nur Strasse zu Straße wird, sonder auch "Es lassen" zu "Es laßen", was nicht schön aussieht ^^

Hab auch schon versucht in der Datenbank andere Kollationen auszuwählen.. und im HTML-Header andere Charsets zu verwenden, funktioniert aber auch nicht )=

Ich hoffe ihr könnt mir als Anfänger mit nicht all zu komplizierten Antowrten helfen ;-)

~ InvisibleQuantum
 
Werbung:
Leider habe ich keine Lösung gefunden das zu beheben.
Stellt sich die Frage, wonach Du konkret gesucht hast. Denn die Problematik ist nicht neu, und so finden sich im Netz auch dementsprechend Lösungen.
  • In der Datenbank hab ich die Kollation auf "latin1_swedish_ci" stehn.
  1. http://dev.mysql.com/doc/refman/5.7/en/charset-mysql.html -> utf8_general_ci
  2. http://stackoverflow.com/questions/...t-latin1-swedish-ci-data-into-utf8-general-ci
  3. ...
 
Werbung:
  • Die PHP-Datei ist um UTF-8-Format mit Notepad++ erstellt worden.
  • Im HTML-Header hab ich das hier stehn:
  • <meta http-equiv="content-Type" content="text/html; charset=UTF-8" />
  • In der Datenbank hab ich die Kollation auf "latin1_swedish_ci" stehn.
Da fällt dir nix auf??
Hab auch schon versucht in der Datenbank andere Kollationen auszuwählen.. und im HTML-Header andere Charsets zu verwenden, funktioniert aber auch nicht )=


Hast du meinen Post fertig gelesen?
 
Hab die Lösung gefunden..:
Der Verbindungsaufbau sollte ungefähr so aussehen:
Code:
$pdo = new PDO('mysql:host=localhost;dbname=DATENBANKNAME', 'BENUTZERNAME', 'PASSWORT', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));

Bitte als "Erledigt" makieren!
 
Zuletzt bearbeitet:
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben