INSERT INTO mytable(stuff) values('ä, ü ö, ß3');
I get a row that looks like this: "ä, ü ö, ß3"
I have the table and the column set to "utf8_general_ci" encoding and I
am using PHP 4. All I am doing is taking the posted values from a form
and using mysql_real_escape_string to construct the statement listed
above. Is there some other type of encoding that I need to do before
submiting the mysql statement?
BTW, If I do that exact statement on the command line of mysql, it
works, so it is something happening between PHP and mysql.
Thanks!
Yup ! Something sure is happening between PHP and MySql, namely your
connection.
Apart from the fact that your form might not be utf-8 encoded, your
connection might also use a default value, which is often latin1.
I ran into a similar issue the other day myself and wrote a little
article about it:
http://www.adviesenzo.nl/examples/php_mysql_charset_fix/
I hope you'll find it helpful and if the suggested fix doesn't solve
your problem, you will probably find the solution in the articles which
I link to at the bottom of my article.
Good luck !
Juliette
Did you try to utf8_encode() your variables? This is a PHP function
from the XML extension.