Accented characters problem

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
I am trying to allow accented characters (ä, ü ö, ß) to be entered
into a mysql table.  When I use a statement like

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.  


Re: Accented characters problem

Jake wrote:
Quoted text here. Click to load it

Yup ! Something sure is happening between PHP and MySql, namely your  
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:

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 !

Re: Accented characters problem

Quoted text here. Click to load it

Did you try to utf8_encode() your variables? This is a PHP function  
from the XML extension.

Site Timeline