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.

eZ debug

Timing: Jan 18 2025 02:09:06
Script start
Timing: Jan 18 2025 02:09:06
Module start 'layout'
Timing: Jan 18 2025 02:09:06
Module start 'content'
Timing: Jan 18 2025 02:09:06
Module end 'content'
Timing: Jan 18 2025 02:09:06
Script end

Main resources:

Total runtime0.0160 sec
Peak memory usage2,048.0000 KB
Database Queries3

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0052 589.1563152.6406
Module start 'layout' 0.00520.0039 741.796939.5000
Module start 'content' 0.00910.0050 781.296993.5703
Module end 'content' 0.01410.0018 874.867234.2891
Script end 0.0160  909.1563 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.002314.5896140.0002
Check MTime0.00116.6384140.0001
Mysql Total
Database connection0.00116.629510.0011
Mysqli_queries0.003320.403430.0011
Looping result0.00000.162210.0000
Template Total0.00159.610.0015
Template load0.00084.688510.0008
Template processing0.00084.858210.0008
Override
Cache load0.00052.839910.0005
General
dbfile0.00031.841280.0000
String conversion0.00000.055140.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs