When I try to restore a database dump from my production server to my development site, Unicode characters are getting munged. In production, I see "Björn" but when the same database is loaded locally I get "BjÃ¶rn"
I checked the dump file by loading it into vim and validating that it was UTF8 encoded (:set fenc) and that I could see "Björn". So I think the dump file is properly encoded.
All of the CREATE TABLE statements in the dump include DEFAULT CHARSET=utf8.
I checked the record in question with the mysql command line client against my development database, after I had restored the dump, with SELECT * FROM comments WHERE cid=... and I see "Björn". So I think the restore is good too.
The status report on both boxes shows the Unicode library as green: "PHP Mbstring Extension".
Which leaves...what, exactly? I'm stumped! I get very nervous when I can't easily restore my production backups. Can anyone throw me a clue?
In case it matters, my dev box is Mac OS X, Drupal 6.9, MySQL 5.0.27, PHP 5.2.6. My production box is running Linux, MySQL 5.0.32, PHP 4.4.6.