| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

10-03-2009, 16:16
|
|
ah72103
Newbie
|
|
Registriert seit: Sep 2002
Ort: Wien
Beiträge: 68
|
|
Umlaute die 100ste
Habe viele Einträge gefunden zum Thema Umlaute, aber nicht zum Thema Konfiguration.
Bin von meinem Provider auf neuen Linux-Server transferiert worden, hab dadurch u.a. neue PHP-Version, aber seitdem habe ich Probleme bei E-Mail Versand mittels mail().
Am alten Server hatte alles funktioniert, am neuen habe ich Probleme mit den Umlauten und zwar hauptsächlich wenn Variablen in $message eingebunden werden und in $subject.
Meine Frage: Gibt es konkret Einstellungen in der php.ini die in diesem Zusammenhang zu beachten sind?
Gruß
Alexander
|

10-03-2009, 16:46
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Da ist viel mehr der Zeichensatz der Eingabedaten von Relevanz. Liegen die Quelldateien im richtigen Zeichensatz vor?
|

10-03-2009, 16:52
|
|
ah72103
Newbie
|
|
Registriert seit: Sep 2002
Ort: Wien
Beiträge: 68
|
|
Denke doch - utf-8.
Und wie gesagt, am alten Server alle paletti, und ich hab an den Dateien nichts verändert.
|

10-03-2009, 17:10
|
|
Anbu
Registrierter Benutzer
|
|
Registriert seit: Dec 2006
Beiträge: 505
|
|
also das Umlaut Problem im Betreff kannst du so lösen:
PHP-Code:
$charset='ISO-8859-1';
$betreff = "=?$charset?B?".base64_encode($betreff)."?=\n";
Bei mir hats geholfen
__________________
Lurchi ! Lurchi ! Lurchi !
|

11-03-2009, 07:10
|
|
ah72103
Newbie
|
|
Registriert seit: Sep 2002
Ort: Wien
Beiträge: 68
|
|
Umlaute in Variablenübergabe mit Sessions
Hallo,
nächstes Anliegen:
Ich sammle verschiedene Daten durch Usereingabe in mehreren Formularen. In jedem Folgeformular werte ich die im vorherigen Formular eingegebenen Daten aus und schreibe sie in Session-Variable. Somit ergibt sich nach 7 Formularen eine ansehnliche Anzahl an Session Variablen. Zur finalen Bearbeitung folgt nun eine weitere Datei die aber in einer Subdomain auf dem selben Server liegt. In dieser Datei werte ich die Session Variablen aus und sie werden am Bildschirm angezeigt und mittels mail() erfolgt ein automatisierter Mailversand.
Soweit so gut, die Daten sind alle vorhanden. Wenn ketzt aber der User in einem der Formulare einen String mit Umlauten eingegeben hat, zB Name = Müller, dann ist der Inhalt der Session Variable nicht "Müller" sondern "Müller". Wenn der User statt "Müller" "Müller" eingeben würde, dass würde es natürlich hinhauen.
Bitte jetzt nicht schreiben dass Datei entsprechend codiert sein muss, etc. - diese Basics sind natürlich berücksichtigt.
Gruß Alexander
|

11-03-2009, 08:00
|
|
Laire
Registrierter Benutzer
|
|
Registriert seit: May 2004
Beiträge: 741
|
|
Re: Umlaute in Variablenübergabe mit Sessions
Zitat:
Original geschrieben von ah72103
Hallo,
nächstes Anliegen:
Ich sammle verschiedene Daten durch Usereingabe in mehreren Formularen. In jedem Folgeformular werte ich die im vorherigen Formular eingegebenen Daten aus und schreibe sie in Session-Variable. Somit ergibt sich nach 7 Formularen eine ansehnliche Anzahl an Session Variablen. Zur finalen Bearbeitung folgt nun eine weitere Datei die aber in einer Subdomain auf dem selben Server liegt. In dieser Datei werte ich die Session Variablen aus und sie werden am Bildschirm angezeigt und mittels mail() erfolgt ein automatisierter Mailversand.
Soweit so gut, die Daten sind alle vorhanden. Wenn ketzt aber der User in einem der Formulare einen String mit Umlauten eingegeben hat, zB Name = Müller, dann ist der Inhalt der Session Variable nicht "Müller" sondern "Müller". Wenn der User statt "Müller" "Müller" eingeben würde, dass würde es natürlich hinhauen.
Bitte jetzt nicht schreiben dass Datei entsprechend codiert sein muss, etc. - diese Basics sind natürlich berücksichtigt.
Gruß Alexander
|
Und wenn du die Eingabe vor dem speichern mit http://de2.php.net/manual/de/function.htmlentities.php bearbeitest?
Und Sorry auch wenn Du es schreibst nicht drauf Hinweisen:
Seite, Formular (kann man auch ein Zeichensatz zuordnen), Datei und Speicherart (z.B. MySQL) alle wirklich den gleichen Zeichensatz?
|

11-03-2009, 09:24
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Dann hat die Mail wohl einen anderen Zeichensatz wie die Eingabedaten
|

11-03-2009, 12:36
|
|
ah72103
Newbie
|
|
Registriert seit: Sep 2002
Ort: Wien
Beiträge: 68
|
|
@ Anbu:
dein Lösungsansatz funktioniert bei mir überhaupt nicht, trotzdem Danke.
Hab dennoch eine simpelste Lösung gefunden:
$subject = "Bestätigung";
$subject = html_entity_decode($subject);
Jetzt steht im Betreff Bestätigung ....
Gruß
Alexander
|

11-03-2009, 12:39
|
|
ah72103
Newbie
|
|
Registriert seit: Sep 2002
Ort: Wien
Beiträge: 68
|
|
@PHP-Desaster
Du hattest (wieder einmal) recht. Genau das hatte ich übersehen. Danke!
Einfach in der $message-Variable den selben Header wie in der Datei und schon haut es hin.
Gruß
Alexander
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|