无法转换特殊(ASCII / UTF-8)字符

I am trying to take a group of characters which are ASCII and it contains things like ☺ ☻ ♥.

When I try to echo them out with PHP I get ? for each one. And when I try to use htmlentities() it works for the heart but returns some jambled stuff like : ☺ for .

Entirely what I am trying to do is convert a string of text that I have no control over, but is in ASCII and display it with HTML and store it with SQL.

I am sorry if this is a poorly formed question, but I am not sure how this whole section of conversion works.

Thanks.