But you said the dialog in the UI wasn't showing the character? So, the dialog has start time and channel.
Type "Yasser.*got drivetime" in to the tvh EPG filter and it will narrow down to the programmes, then go to your tv and see what it displays. I'd assume it's an apostrophe, but it would be interesting to know if that has a bad character. I know my old tv would sometimes display a bad character symbol.
Unfortunately I can't check.
There's probably no point tvh sending an encoded character since nothing can display those characters, so it just causes problems downstream. Therefore it should probably be dropped. But, no real point dropping it in the json encoder since the xmltv encoder will likely have the same problem.
So, the question is whether it's bad data being broadcast, or if it's good data being mis-interpreted or incorrectly decoded.