Please see the following question: MySQL Encoding Question
I think the problem actually deals with the encoding of the Column and SQL text. To get around this, try using the CONVERT(aaa USING bbb) function as follows in your WHERE clause:
SELECT tags.tag, theValues.*
FROM ch09.tbl_tags tags
RIGHT JOIN ((SELECT 'dog' as 'Vals')
UNION (SELECT 'cat' as 'Vals')) theValues
ON CONVERT(tags.tag USING utf8) = theValues.Vals
Alternatively, change your table's column encoding to be UTF8.
Hope this helps,
john...