I move site to new host and get problems with mysql encoding. Their support say that i should use SET NAMES and SET CHARACTER SET in my scripts, which connect to database. What should i do? How i may make default mysql encoding to unicode?
I'm set utf8 as database encoding in phpMyAdmin, install SilverStripe, but can't use russian language cause mysql save data in wrong encoding. When i copy data from phpMyAdmin->my database->table SiteTree_Live->Content field, and try to recognize which encoding used there with one charset site, i get that it is cp1251. I think that this is their default mysql encoding, and they say that i should change way how scripts connect to database.
May be i write a bit confused message, sorry.
I should resolve this issue.
The problem is that many MySQL instances use latin1 as the default client connection character set. I am not sure if this is a best practice, but my solution for this problem is to add this at the bottom of _config.php:
# Force database connection to use UTF8.
DB::query('set charset utf8');
DB::query('set names utf8');