Problem when I publish an object with special chars

Author Message

AGUENOT Nicolas

Wednesday 27 October 2010 9:15:12 am

Hi,
When I publish an object with special chars (for example lambda), I've an error on a red block :

Fatal error: A database transaction in eZ Publish failed.
The current execution was stopped to prevent further problems.
You should contact the System Administrator of this site with the information on 
this page.
The current transaction ID is TRANSID-xxxxxxxxxxxxxxxxxxxxx and has been logged.
Please include the transaction ID and the current URL when contacting the 
system administrator.

I've this problem just when I publish. When I save my draft, my special chars is on my content and I can continue my modifications.
My database is in MyISAM but I was tested in InnoDb with the same result.
The charset is UTF8_general_ci.
Thanks for your solutions.

Gaetano Giunta

Wednesday 27 October 2010 12:14:34 pm

You will find in the file var/error.log the offending sql query. You can post it here for further analysis

Principal Consultant International Business
Member of the Community Project Board

AGUENOT Nicolas

Thursday 28 October 2010 12:22:28 am

Il this file var/log/error.log, I've these error :

eZMySQLiDB: Query error (1271): Illegal mix of collations for operation '
 IN '. Query: SELECT * FROM ezsearch_word WHERE word IN ( ......)

and :

eZDBInterface::commit TRANSID-xxxxxxxxxxxx:Transaction in progress 
failed due to DB error, transaction was rollbacked. Transaction ID is 
TRANSID-xxxxxxxxx.

I think the second error is related to the first.

In addition, my specialChars was not well encoded in the first request.
For example, when I insert the lambda special char, I've this λ in my request.

Thanks for your solutions.

Edi Modrić

Thursday 28 October 2010 12:38:31 am

If your database is MyISAM, I presume your installation is an older version of eZ Publish or upgrade from older version.

Maybe you can try to backup data, drop and recreate the table in question and then restore data?

eZ Publish certified developer

http://ez.no/certification/verify/350658

AGUENOT Nicolas

Thursday 28 October 2010 12:44:26 am

I've just discovered that my field "word" on my table "ezsearch_word" was encoded in "latin1_swedish".

I changed it to "utf8_general_ci" and I my problem was solved.

Thanks a lot for your help.

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.