| 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! |
 |

16-01-2010, 11:32
|
|
Studycram
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 17
|
|
UTF8 und "komische Zeichen" anstatt Umlaute
Hallo,
ich nutze mittels PHP das UTF-8 Format:
PHP-Code:
header('Content-Type: text/html; charset=UTF-8');
Nun habe ich ein Form mit einer Textarea. Das Problem: Übergebe ich dieses Form, so erhalte ich z.B. anstatt ein "ä" nur "ä".
Hat jemand einen Lösungansatz für mich?
Danke,
MCXSC
|

16-01-2010, 12:51
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
so siehts aus wenn UTF Zeichen in einem 8 Bit Zeichensatz präsentiert werden.
Zeichensatzchaos.
Stell alles um!!!
1. im http Header (hast du schon)
2. im HTML HEAD
3. im Formular
4. Die DB Verbindung
|

16-01-2010, 19:41
|
|
Studycram
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 17
|
|
Zitat:
Zitat von combie
1. im http Header (hast du schon)
|
^^
Zitat:
Zitat von combie
2. im HTML HEAD
|
Code:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Zitat:
Zitat von combie
3. im Formular
|
Code:
<form accept-charset="utf-8" [...]>
Zitat:
Zitat von combie
4. Die DB Verbindung
|
Die DB ist allgemein auf UTF8 gestellt...
Es will trotzdem nicht so, wie es soll. Die Umlaute werden immer noch "komisch" in die DB geschrieben; wenn ich diese aber wieder auslese, werden sie korrekt angezeigt...
|

16-01-2010, 19:43
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von MCXSC
Die Umlaute werden immer noch "komisch" in die DB geschrieben; wenn ich diese aber wieder auslese, werden sie korrekt angezeigt...
|
Dann ist wohl nur deine Beobachtung, dass sie „komisch” in der Datenbank stehen würden, falsch.
Vermutlich, weil du das mit einem Frontend kontrollierst, bei dem du die Verbindung nicht auf UTF-8 eingestellt hast.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

16-01-2010, 19:47
|
|
Studycram
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 17
|
|
Das Frontend wäre phpMyAdmin...
|

16-01-2010, 19:49
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
... und da hast du was eingestellt ...?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

16-01-2010, 20:13
|
|
Studycram
Registrierter Benutzer
|
|
Registriert seit: Oct 2003
Beiträge: 17
|
|
Okay, okay... Ich gebe mich geschlagen...
Ein anderes Problem wäre das "htmlentities" - dadurch kommen nochmals andere "Zeichen" heraus. Ohne eben dieses wird es korrekt angezeigt - im Quelltext steht dann eben auch ein "Ä"...
|

16-01-2010, 20:22
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Natürlich, htmlentities ist ja auch unsinnig, wenn man eh schon eine Kodierung verwendet, die alle Zeichen abbilden kann.
htmlspecialchars, um HTML-Sonderzeichen zu entschärfen, ist alles, was man dann noch braucht.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

16-01-2010, 20:51
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Das Handbuch sagt:
Auch bei htmlentities() und htmlspecialchars() kann man den Zeichensatz angeben.
Und ich sage: Das sollte man auch tun!
|
|
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
|