[mythtv] Qt4 port: database character set change necessary

Janne Grunau janne-mythtv at grunau.be
Sat Mar 22 18:00:37 UTC 2008


With qt4 our current way of storing raw UTF8 byte sequences in latin1 
encoded columns is not working anymore.

The easiest way to get working utf8 strings is to change the database 
character set to utf8. The alternatives we thought of have bigger 
disadvantages than the 3 bytes per symbol utf8 in char() columns and 
varchar() in keys and indices.

The first alternative is using binary data types and storing utf8 in it. 
This is very similar to the current approach and works nicely in Qt4. 
But it doesn't work in mysql. We would lose the case insensitive 
matching which blocks imho this approach absolutely.

The second alternative is forking the qt4 mysql driver into our code 
base and modify it so it would work with our current database. I hope I 
don't have to explain why we would do it only if it's unavoidable.

I've prepared already the necessary db updates and once it is committed 
to the branch no further db updates should be done in trunk until the 
branch is merged to trunk.


More information about the mythtv-dev mailing list