The infinity (∞
) symbol gets converted to ∞
when it is inserted into my MySQL table by a PHP script, but if I insert it directly from phpMyAdmin, it inserts correctly. The symbol is passed to the PHP script by a GET call with the JavaScript function encodeURIComponent()
around the contents. The field in the MySQL database is utf8_swedish_cl
. How do I get ∞
to insert as ∞
into the database?
views:
83answers:
4
A:
Are you setting SET NAMES utf8
before inserting the content into the database?
meder
2010-01-15 01:05:38
That does work to insert it correctly, though it still displays incorrectly. I'm going to use Alix Axel's answer from the link to get everything UTF-8 all the way through.
James Simpson
2010-01-15 01:32:57
what did you do specifically to solve your issue?
meder
2010-01-15 01:41:09
A:
Don't forget the "query" SET CHARACTER SET utf8
at the beginning of your scripts.
zneak
2010-01-15 01:30:43
A:
Are you sure that phpMyAdmin is doing it right? ∞
Looks a lot like a UTF8 character stored in a latin-1 column.
What do you get when you do this select hex(column_name) from the_table
?
If it's
E2889E
, then your connection is UTF8, your column may not be.If it's
C3AC
, then your connection is latin-1 and your column is utf8.If it's
EC
, then both your connection and column are latin-1
Here's a quick way to verify that the column's encoding is UTF8:
select
column_name, character_set_name, collation_name
from
information_schema.columns
where
table_name = '_your table_'
Seth
2010-01-15 01:34:07