Opened 12 years ago

Closed 12 years ago

Last modified 11 years ago

#2775 closed defect (worksforme)

utf8 query inside mythfrontend fails with german umlaut

Reported by: tormen <tormen@…> Owned by: Isaac Richards
Priority: minor Milestone: unknown
Component: mythtv Version: 0.20
Severity: medium Keywords: mythtv mysql utf8 latin1 character-set collation mythfrontend
Cc: tormen@… Ticket locked: yes

Description (last modified by stuartm)

Hi... I am not sure if this might be a bug inside mythtv:

I have a gentoo installation:

  • dev-db/mysql

Installed: 5.0.26-r1

  • media-tv/mythtv

Installed: 0.20_p11626

I tried to create a record rule today and there was a german umlaut in the record rule:

program.title LIKE 'Ein Fall für den Fuchs: %'

After pressing test, I received the error message: "illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like'".

I tried the sql command which mythfrontend supplied together with this error message inside "mysql" on the console:

mysql> SELECT NULL FROM (program,channel) WHERE program.title LIKE 'Ein Fall für den Fuchs: %'; ERROR 1267 (HY000): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like'

But then I changed the setting inside /etc/my.cnf: I changed the default-character-set from utf8 to latin1 within the [mysql] section.

Then mysql did NOT complain anymore!

But mythfrontend still does?!

Is this a bug inside mythfrontend in the way it contacts the database or is it another setting inside my.cnf that is misssing?! It must be possible for mythfrontend to also send this query successfully like it is now possible with the mysql commandline client, or?

I also tried to set the default-char-set for all sections to latin1 inside the my.cnf, but the error message inside mythfrontend stayed.

Greetings,

tormen.

P.S.:

I compiled the mysql database with "-latin1". Afterwards I installed mythtv in the above mentioned version and began to use it for the first time.

The my.cnf is the original one from the gentoo package, except the changed default-char-set as described before.

phpmyadmin/ shows me that the collation for the mythconverg database is latin1_swedish_ci (the default collation for latin1 charset as mysql.com told me).

Change History (6)

comment:1 Changed 12 years ago by tormen <tormen@…>

Keywords: mythfrontend added

Hi.

I now installed mythweb and there I have NO problem with german umlauts! I create the record rule that I was NOT able to create with mythfrontend (as described above).

So it is clearly a problem of mythfrontend.

Or?

Greetings,

tormen.

comment:2 Changed 12 years ago by psofa

Ive run across the same problem.If theres a strange character in the eit data gathered (such chars exist in many channels) the frontend complains...... Im using an oldish (1.5 months old) trunk revision

comment:3 Changed 12 years ago by stuartm

Resolution: fixed
Status: newclosed

(In [12973]) Closes #2775

Fix the display of accented and other non-ascii characters in the cast/credits.

comment:4 Changed 12 years ago by stuartm

Description: modified (diff)
Resolution: fixed
Status: closedreopened

Meant to close [2755]

comment:5 Changed 12 years ago by Janne Grunau

Resolution: worksforme
Status: reopenedclosed

recompile mysql with USE=latin1 and then qt.

Changing the default charset in the my.cnf doesn't help, since the qt mysql module seems not to use it.

It is necessary to use latin1 since we use it as 8bit storage for utf-8 strings to avoid the space penalty of using utf-8 in mysql.

comment:6 Changed 11 years ago by stuartm

Ticket locked: set
Note: See TracTickets for help on using tickets.