1
votes

I have a trouble displaying Cyrillic characters properly. Looked in forums, tried a few different thing and nothing works.

Site runs on PHP / MySQL.

MySQL tables charset is utf8, and collation is utf8_general_ci Name entry in DB looks correct (in PhpmyAdmin): Sasha Рукина

Output on page http://www.sodaq.com/: Sasha ??????

Inside PHP I use:

mb_internal_encoding("UTF-8"); mb_http_output("UTF-8");

And send HTTP header 'Content-type: text/html; charset=utf-8'

Still, shows '????' instead of normal characters.

Please help.

3
not sure about this but did you check whether the browser has the encoding installed already? - Michael Mao
Sure you don't have a browser problem? The text at that link renders correctly here, and the document is being correctly detected as UTF-8. - John Flatness
possible duplicate of UTF-8 all the way through... - deceze
@zerocrates, it wasn't browser, I sure tried that. I added SET NAMES and SET CHARACTER_SET to utf8 and it worked. - mvbl fst

3 Answers

4
votes

try to execute the following query before loading your data

SET NAMES 'utf8';
1
votes

Have you also tried:

set character_set_connection=utf8;
0
votes

You didn't mention the font you're using, but it's a big factor. Not all fonts contain all character sets.