|
Posted by Juliette on 06/20/06 18:56
Jake wrote:
> 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.
>
> 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
Navigation:
[Reply to this message]
|