This might be caused by the connection or client character sets being incorrectly set.
Issue SHOW VARIABLES LIKE 'character_set%'
and see what the values of character_set_connection
and character_set_client
are. If they are latin1
, you need to make sure that you change your code to get new connections to use UTF-8. This can be achieved by issuing SET NAMES 'utf8'
when you have connected. (Your database abstraction class may provide a method for changing the connection character set, in which case you should do that instead.)
If this is indeed the problem, you may have stored mis-encoded data in your tables, which you will want to fix.