funny enough it’s the symbols that are encoding correctly.
plain: ‘
symbol: ‘
This is how the tweet came out: Plain: ' Symbol: ‘
identified the issue is related to hashtags converted to links before the text is set as html symbols.
fix: the regular expression needs to exclude tags the start with ‘&’.
/includes/class-timeline-twitter-feed-shortcode.php
line 147:
$text = preg_replace( '(#([a-zA-Z0-9\_]+))', '<a href="http://twitter.com/search?q=%23\\1" target="_blank" rel="nofollow">\</a>', $text );
change to:
$text = preg_replace( '/(?<!&)#(\w+)/i', '<a href="http://twitter.com/search?q=%23\\1" target="_blank" rel="nofollow">\</a>', $text );
It needs to be fixed in other places, hopefully you can implement the solution across the plugin on the next update.
This is fixed in version 1.0
Thanks for reporting!