I have a strange problem in PHP, hopefully someone has seen this before.
I am storing the Æ character (AE) in a MySql database that is set to utf8. I have a PHP application that displays the character in a browser correctly on my local machine (Windows 7), but when the same code and database are used in production (GoDaddy Linux Hosting), the character is being converted to a single ASCII character (198), which displays as the dreaded question mark in a black triangle. I have confirmed that the database and code are exactly the same in both places. I can iterate over the bytes as an array and see that what is coming out of MySql is two bytes, \195 \134, but what PHP sends has been converted somehow in the production environment to a single 198.
I have ruled out browser issues with character encoding. I get the same behavior in all browsers using utf8 encoding. I can look at the raw response and see the issue.