If the database field should be encoded in ASCII, I would definitely preserve these esoteric characters, as &heart; , as you said, because ASCII, of course, does not apply to these characters (ASCII uses only 7 bits to store character data).
However, I would recommend using UTF-8 for your database field. UTF-8 allows for a much wider range of characters.
source share