Notes Good support from 4.1 utf-8 is utf8 in MySQL. A collation defines the sort order for the data, it may be case sensitive or not To find out your current setup: SHOW VARIABLES LIKE 'character_set_database'; SHOW VARIABLES LIKE 'character_set_client'; To see available character sets and collations on your database: SHOW CHARACTER SET; SHOW COLLATION LIKE 'utf8%'; Character set and collation can be set per server, database, table, connection; Server ( /etc/my.cnf ): [mysqld] ... default-character-set=utf8 default-collation=utf8_general_ci Database: (CREATE | ALTER) DATABASE ... DEFAULT CHARACTER SET utf8 Table: (CREATE | ALTER) TABLE ... DEFAULT CHARACTER SET utf8 Connection: SET NAMES 'utf8'; A PHP mysql connection ( not totally confirmed , but see tests below) defaults to a latin1 connection, so, your first query after connection should be: mysql_query("SET NAMES 'utf8'"); In php versio...