Wie mit header() das Encoding umstellen?

Mitglied: DeeDee0815

DeeDee0815 (Level 1) - Jetzt verbinden

06.09.2006, aktualisiert 07.09.2006, 6695 Aufrufe, 2 Kommentare

Ich möchte das im HTTP-Header definierte Encoding mit PHP umstellen. NICHT ZU VERWECHSELN MIT DEM <head>-TAG BEI HTML!!!

Hallo,

Ich möchte auf meiner Webseite das Encodung auf UTF-8 umstellen. Das hat folgenden Grund: Wenn ich direkt aus der Datenbank lese, werden äs, ös, üs, ßes oder auch vielleicht mal ein [chinesische Zeichen kopiert von china.cn können hier offenbar nicht eingefügt werden; hat das auch was mit dem encoding zu tun ;-) face-wink] (ich hoffe das ist kein Schimpfwort) nicht in die Gängigen &uuml; etc. umgewandelt - was ja vollkommen normal ist. Da wenn aus der Datenbank gelesen und ausgegeben wird, das Encoding das der Server vorgibt, und somit das Encoding was im HTTP-Header steht, verwendet wird, gibt es keine Probleme mit äs, die zu einem Ä% oä werden. Wenn ich aber selbst im PHP-Code ein echo() vornehme und ein ä DIREKT ausgebe, kommt es zum genannten Problem. Mein Server nutzt nämlich das iso-8859-1-Encoding. Mein GNOME-Desktop bzw. Anjuta (meine Entwicklungsumgebung) speichert aber in UTF-8. Und das ist das Problem. Da ich ein Perfektionist bin, will ich kein Mischmasch aus &szlig; und 'echten' ßes.

Wie lautet der korrekte Syntax von header() um die gewünschte Einstellung vorzunehmen?

Gruß
DeeDee0815
Mitglied: 11078
11078 (Level 2)
06.09.2006 um 21:00 Uhr
Hallo,

das muss so lauten:

header('content-type: text/html; charset=utf-8');


Allerdings wäre es technisch - meiner Meinung nach - besser, wenn Du UTF-8 gleich in der php.ini angibst (sofern Du denn Zugriff darauf hast):

default_mimetype = "text/html"
default_charset = "utf-8"



Wenn der Server schon korrekt auf UTF-8 eingestellt ist, dann sollte das Senden eines neuen HTTP-Headers doch eigentlich nichts mehr bringen, oder? Der Server sendet dann doch schon den richtigen Header bezüglich des Charsets. Also bleibt eigentlich nur die direkte Angabe für PHP in der ini-Datei...

Gruß,
Tim
Bitte warten ..
Mitglied: DeeDee0815
07.09.2006 um 19:37 Uhr
Hallo Tim,

danke für die Lösung. Ich habe leider keinen Zugriff auf die php.ini. ini_set() ist auch deaktiviert. Der Server ist eben nicht auf UTF-8 eingestellt. Sondern auf ISO-8859-1. Mein Editor speichert aber in UTF-8. Dir Folge davon ist, dass ein im Editor direkt eingegebener Umlaut im Browser falsch codiert wird, und ich keine Lust mehr auf &uuml; & co habe.

Vielen Dank,
DeeDee0815
Bitte warten ..
Heiß diskutierte Inhalte
Windows 10
Windows 10 Geschwindigkeitprobleme trotz viel mehr Gb Ram
Matthes88Vor 21 StundenFrageWindows 1036 Kommentare

Hallo ihr lieben aaaalso : Da mein neuer Arbeitsspeicher (32gb) von meiner alten Windows 7 version (max mit 8gb kompatibel) nicht angenommen wurde, habe ...

Off Topic
Realistische Gehaltsvorstellung für eine "IT-Allroundkraft"
gelöst JiggyLeeVor 16 StundenFrageOff Topic17 Kommentare

Hallo an alle, ich hege momentan den Wunsch mich von der alten verstaubten Behörden Bürokratie und langweiliger Aufgaben los zu lösen und in einem ...

Humor (lol)
Tipp: Dinge, die man besser nicht klaut
altmetallerVor 17 StundenTippHumor (lol)8 Kommentare

Hallo, so wurde meiner Hündin z.B. heute der (eingeschaltete) GPS-Tracker mit Mobilfunkanbindung quasi "direkt vom Halsband weggefunden". Akku hatte noch 60% :-P Und ich ...

Windows Userverwaltung
Account Aktivierung über VPN
Phill93Vor 1 TagFrageWindows Userverwaltung3 Kommentare

Hallo, ich muss mir für eine RDP Umgebung für einen Verein eine Lösung für die Account Aktivierung ausdenken. Meine Idee ist die folgende: 1. ...

Switche und Hubs
Suche Deutsche Sprachdatei für D-Link DGS-1210-24 D1 Switch
gelöst Oggy01Vor 1 TagFrageSwitche und Hubs8 Kommentare

Hallo, ich habe einen D-Link DGS-1210-24 Vers. D1 Switch bekommen und suche für diesen eine Deutsche Sprachdatei. Die Firmware ist auf dem aktuellen Stand ...

Windows Server
GPU Passthrough HYPER-V 2019
bintesVor 1 TagFrageWindows Server8 Kommentare

Hallo, ich habe ein ein Problem mit der Bereitstellung einer Grafikkarte an eine virtuelle Maschine. Hardware: - HPE ProLiant DL380 Gen9 V4 Rack Server ...

Video & Streaming
Videoaufnahme funktioniert nur bis zum ersten Reboot (0x80040217)
IllusionFACTORYVor 1 TagFrageVideo & Streaming11 Kommentare

Ich nehme über eine Video-Software von einem USB-Hardware-Encoder Video auf. Das funktioniert exakt bis zum ersten Reboot - danach bekomme ich beim Starten der ...

Windows Server
Windows Admin Center DC
maximidVor 1 TagFrageWindows Server3 Kommentare

Hallo, ich hätte mal eine Frage zu Windows Admin Center und zwar schaue ich es mir aktuell etwas an da mir die zentrale Verwaltung ...