Pain in the proverbials ain't it 😃
Yes, collation defines the sort order for the specific charset.
Amongst the various pains I encountered when choosing UTF-8 for a mysql db was the need to set the charset every time I opened a connection to it. Now I'm using PDO and in that you code
$this->dbh->query("SET NAMES utf8");
(and obviously I'm using a db class as well 🆒 )
Not sure how you do it with plain old mysql_connect. I do know you can check the setting on a connection using mysql_client_encoding to see if that is the cause of the unprintable problem.
[edit]
Here's an amusing article on/and off the topic of Unicode
[/edit]