Hi I have a website where I would like users from Hong Kong to be able to enter Chinese text and have it stored in a MySQL database. I'm most of the way there. My page can display chinese characters, because I've used <?header("Content-type: text/html; charset=utf-8");?> at the top of each page, and <meta http-equiv="content-type" content="text/html; charset=utf-8" /> in the HTML. The pages are saved as Unicode UTF-8 (no BOM) from Mac's BBEdit and they show up fine with chinese characters. My MySQL database is on Lunarpages, with MySQL - 5.0.27 and phpMyAdmin - 2.8.2.4 The table I'm using has these options: ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci and the text fields have settings like this: `name` varchar(255) collate utf8_unicode_ci NOT NULL My PHP code has multibyte enabled and I'm using .htaccess to set these values: php_value mbstring.language Neutral php_value mbstring.internal_encoding UTF-8 php_value mbstring.encoding_translation On php_value mbstring.http_input auto php_value mbstring.http_output UTF-8 php_value mbstring.detect_order auto php_value mbstring.substitute_character none php_value default_charset UTF-8 I've also replaced all of the appropriate string functions in PHP with the multibyte equivalent: mail() -> mb_send_mail() strlen() -> mb_strlen() strpos() -> mb_strpos() strrpos() -> mb_strrpos() substr() -> mb_substr() strtolower() -> mb_strtolower() strtoupper() -> mb_strtoupper() substr_count() -> mb_substr_count() ereg() -> mb_ereg() eregi() -> mb_eregi() ereg_replace() -> mb_ereg_replace() eregi_replace() -> mb_eregi_replace() split() -> mb_split() So, using phpMyAdmin I can manually create entries in my table using chinese characters i.e. mœ and they show up correctly when browsed. In PHP, if I save data to the database like this: $insertquery = "update my_table set `city`='".mysql_real_escape_string($city,$connection)."' where id='".$id."'"; $insertqueryutf8=mb_convert_encoding($insertquery,"UTF-8","auto"); $insertresult = mysql_query($insertqueryutf8, $connection); then in phpMyAdmin the characters that are stored all are gibberish: (i.e. å§åÂÂ) They're also gibberish if I export them to Excel and so on. But if I load them onto one of my website pages using PHP, they show up as Chinese characters again, fine. I'd like to be able to export from the DB into Excel rather than have to render everything out using PHP when I need to run reports. What am I doing wrong when writing the chinese characters to MySQL? How can I have them show up correctly in phpMyAdmin and export properly to Excel? it seems like I'm not processing something right in PHP before sending to MySQL thanks in advance for any help