[mythtv] How to fix missing character encoding in DVB EIT

Janne Grunau janne-mythtv at grunau.be
Fri Mar 24 22:11:16 UTC 2006


9357 (the fix for ticket 1466) breaks umlauts in german Pro7Sat1 
multiplex EPG. These bloody amateures violete the DVB-standard and 
encode their EIT in some western character encoding (the same as 
QString::fromLatin1()) but do not declare the used encoding.

This means according to the standard ISO6937 encoding which is added in 
9357. And I get weird characters in the EPG.

Since 9357 is correct we need a way to fix this. I'm unsure how to do 
this. The first way to do it is adding another EITFixUp-function for 
these channels. I don't like this idea much since we must either recode 
all text fields of the events two time or replace at least 7 characters 
in each text field.
The other way would be to specify the encoding as parameter to 
dvb_decode_text(). This way we take minimal processing on the texts.

After a little thought I prefer the second way.
I'm not sure how to decide in SIParser::HandleEIT() whether to call 
eed.Text() or something like eed.TextByEncoding(bla). Using 
privateTypes like EITFixUp though I can't see how it is set atm.

I'll try the second method.


More information about the mythtv-dev mailing list