Can I use Emoji as icon in navigation bar? Emoji icons are 4byte UTF8 characters, the characters are not accepted in PDO, it would show errors like this question: How can I remove emoji from all user input?

Instead, I used menu_icons plugin to prepend icons as picture before the navigation text, it uses picture background in CSS, but by using this method the text and picture will be overlapped. 

If emoji is not an option, is there another way to prepend an icon before navigation text?

If emoji is an option, please help me bypass the PDO exception.

Thanks.
Can't help with the PDO exception, but .. Have you looked at IconAPI ? It has a sub module for use with menu items which doesn't cause overlapping as you described.

You can then use Fontello as an icon provider and create a font set from the emoticons there, or import your own emoji icons into Fontello and download them as a font set.