2010-09-02 5 views
6

Ich habe diese Form:UTF-8 nicht in HTML arbeiten bildet

<form method="post" enctype="multipart/form-data" accept-charset="UTF-8"> 

Aber wenn ich einen é Charakter einreichen, es verwandelt es in à ©.

Warum funktioniert das nicht? Ja, in der MySQL-Datenbank sind alle Zeichensätze korrekt eingerichtet. (Datenbank, Tabellen.) Wenn ich es manuell in die Datenbank mit Navicat stelle, erscheint es auf der Webseite gut.

Auch ich habe versucht, den Metatag, den Inhaltstyp Header, ohne Erfolg.

+0

Wie werden Sie die Formulardaten in die Datenbank setzen? Ist Ihre serverseitige Sprache UTF-8? – Oded

+0

Wird Ihre Seite als UTF-8 angezeigt, wenn Sie sie dem Benutzer anzeigen? Überprüfen Sie, ob Ihre Metatags und Header übereinstimmen. – notJim

+0

Alle Felder durchlaufen mysql_real_escape_string und werden dann mit dieser Abfrage in die Datenbank gestellt: mysql_query ("UPDATE' users' SET 'Profil' = '". $ NewProfile.' ', 'Avatar' ='". Mysql_real_escape_string ($ avatar). "'WHERE' ID' = ". $ thisUser [' ID ']); – Codecat

Antwort

8

in Ihrem HTML, diesen Meta-Tag hinzu:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 

Auch bei Anfang des Skripts dieser PHP-Header hinzufügen:

header("Content-Type: text/html;charset=UTF-8"); 

[EDIT]:

Noch ein Tipp ist es, die Datei als Codierung zu speichern. Sie können dafür Notepad++ oder einen anständigen Editor verwenden.

+1

Habe beides, ändert nichts. – Codecat

+0

Haben Sie oben in der HTML-Seite, in der sich das Formular befindet, den 'header'? – shamittomar

+0

Ja. * zusätzliche Zeichen * – Codecat

1

Vergewissern Sie sich, Ihre Verbindung Sortierung zu utf8 gesetzt:

SET NAMES utf8 
+0

Bereits dabei. – Codecat

+0

Ist die Formularseite utf-8? Haben Sie auch einen anderen Browser/eine andere Maschine versucht? – aularon

+0

Ich habe gerade Internet Explorer versucht, das gleiche Problem. Andere Benutzer haben dieses Problem ebenfalls. – Codecat

Verwandte Themen