I am transferring data for a site from MS SQL Server to MySQL (LAMP). Unfortunately unicode characters are displaying incorrectly. E.g I am seeing ’ instead of ’. I have unsuccessfully tried many fixes and checks including:
1) check meta headers in browser:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
2) check the db has the correct character set and collation set:
CHARACTER_SET_NAME utf8
COLLATION_NAME utf8_general_ci
3) check that drupal supports utf8:
/?q=admin/reports/status
Unicode library PHP Mbstring Extension
4) alter all tables to correct character set and collation:
ALTER TABLE variable CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Just double checking
5) view data in mysql:
select body_value from field_data_body where entity_id=35734;
unicode displays fine
This means the data is encoded properly
6) Try accessing data from external php script:
uploaded a php script to the drupal folder
unicode displays fine
This means my php and browser settings are OK for displaying unicode
7) execute drupal functions to test unicode support:
_unicode_check()
unicode_requirements()
Both confirm that unicode should be working.