[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