zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden [PHP] umlaute global ersetzen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 29.11.2008, 14:37
Software Engineer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 03.01.2008
Ort: Altleiningen
Beiträge: 305
markuskoehler kann nur auf Besserung hoffen
Ausrufezeichen [PHP] umlaute global ersetzen

Hey Leute!

habe wieder ein kleines Problemchen: Ich muss eine Seite mit Charset UTF-8 erstellen, da diese mir sonst Werte mit kryptischen Zeichen anstelle der Umlaute aus 'ner fremden DB ausliest. Aber in UTF-8 werden deutsche Umlaute nur korrekt dargestellt, wenn ich sie escape (ä usw...). Wie kann ich es schaffen, die Seite mit Umlauten zu schreiben und nachträglich alle Umlaute zu escapen?

Edit: Und kann ich danach per php include seiten mit anderer codierung einfügen?
__________________
MfG Markus Köhler

Geändert von markuskoehler (29.11.2008 um 14:44 Uhr)
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 29.11.2008, 17:30
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 26.03.2007
Beiträge: 178
Thorben befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von markuskoehler Beitrag anzeigen
Aber in UTF-8 werden deutsche Umlaute nur korrekt dargestellt, wenn ich sie escape (ä usw...).
Dann machst du irgendwas verkehrt.

Sendet der Server den Header richtig? Ist der Text aus der Datenbank wirklich UTF-8-kodiert?

Geändert von Thorben (29.11.2008 um 17:32 Uhr)
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 29.11.2008, 17:32
Software Engineer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 03.01.2008
Ort: Altleiningen
Beiträge: 305
markuskoehler kann nur auf Besserung hoffen
Ausrufezeichen

aber das war bei mir schon immer so. deutsche umlaute wurden nie richtig dargestellt in utf-8, und heute hab ich anscheinend noch rausgefunden, dass man sie dazu escapen muss...

header müssten richtig sein, da der server täglich mehrere tausend bis millionen besuche hat. und ich nehme mal an, dass die daten aus der DB utf-8 sind, bzw. alles von dieser seite utf-8 ist. wie kann ich die datenbank-codierung rausfinden?
__________________
MfG Markus Köhler

Geändert von markuskoehler (29.11.2008 um 17:34 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 29.11.2008, 17:45
Benutzerbild von fox
fox fox ist offline
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 11.09.2006
Beiträge: 1.008
fox sorgt für eine eindrucksvolle Atmosphärefox sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von markuskoehler Beitrag anzeigen
aber das war bei mir schon immer so. deutsche umlaute wurden nie richtig dargestellt in utf-8, und heute hab ich anscheinend noch rausgefunden, dass man sie dazu escapen muss...
Wenn man die richtige Kodierung verwendet muss man die nicht escapen.

Zitat:
header müssten richtig sein
Überprüf´ das lieber mal.

Sollte so oder so ähnlich aussehen:
Zitat:
Content-type: text/html; charset=utf-8
Was für Zeichen bekommst du denn, wenn du sie nicht durch die entsprechenden HTML-...dingsens (entities) ersetzt?
Versuch auch mal utf8_encode() oder (vor allen Datenbankabfragen als Query):
Code:
SET names 'utf8'
Mit Zitat antworten
  #5 (permalink)  
Alt 29.11.2008, 17:48
Benutzerbild von Gumbo
XHTMLforum-Kenner
 
Registriert seit: 22.08.2004
Ort: Trier
Beiträge: 2.733
Gumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekanntGumbo ist jedem bekannt
Standard

Es müssen nur diejenigen Zeichen in HTML durch Zeichenreferenzen dargestellt werden, die nicht durch die verwendete Kodierung kodiert werden können. Bei den Umlauten ist das bei UTF-8 aber nicht der Fall, da mit UTF-8 sämtliche Unicode-Zeichen kodiert werden können.

Das führt uns wieder zu der Feststellung, dass du etwas falsch machst. Entweder lieferst du die Daten korrekt als UTF-8 aus, die Daten sind jedoch nicht UTF-8-kodiert. Oder die Daten sind UTF-8-kodiert, sie werden jedoch nicht als solche ausgeliefert.
__________________
Markus Wulftange
Mit Zitat antworten
  #6 (permalink)  
Alt 29.11.2008, 18:51
Software Engineer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 03.01.2008
Ort: Altleiningen
Beiträge: 305
markuskoehler kann nur auf Besserung hoffen
Ausrufezeichen

SCHEISSE Jungs!

Das war's! Hab gar nicht dran gedacht, dass mein Texteditor alles als ANSI speichert! Danke euch! Ihr seid einfach super!!
__________________
MfG Markus Köhler
Mit Zitat antworten
Antwort


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
wie und wo finde ich die Umlaute zum Umlaute codier Olli_Essen (X)HTML 3 04.06.2011 09:16
String alle umlaute ersetzen kampfgnom Serveradministration und serverseitige Scripte 14 18.06.2009 20:17
[PHP] Attribut 'global' markuskoehler Serveradministration und serverseitige Scripte 6 22.11.2008 17:10
Was macht dieses Script ? lullaby Javascript & Ajax 15 22.06.2008 23:26
umlaute + layoutverschiebung disastrous Serveradministration und serverseitige Scripte 11 10.07.2007 21:38


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:43 Uhr.