I have this form:
<form method="post" enctype="multipart/form-data" accept-charset="UTF-8">
But when I submit an é character, it turns it into é.
Why doesn't this work? Yes, the MySQL database has all the character-sets set up correctly. (Database, tables.) If I manually put it in the database with Navicat it shows up fine on the webpage.
Also, I have tried the metatag, setting the content-type header, without success.
Ensure you have set your connection collation to
utf8
:there are a couple of reasons for the wrong encoding, there is some help: http://www.sebastianviereck.de/en/php-mysql-special-characters-umlauts-utf8-iso/
In your HTML, add this meta tag:
Also add this PHP header at top of the script:
[EDIT]:
One more tip is to save the file as
UTF-8 without BOM
encoding. You can use Notepad++ or any decent editor to do that.Had the exactly same problem as mentioned above, tried everything mentioned. Try deleting
enctype="multipart/form-data"
and addingaccept-charset="utf-8"
from the tag. This was the solution in my case.Add only accept-charset="character_set" in form. It is all!