Edgewall Software
Modify

Opened 10 years ago

Closed 10 years ago

#10431 closed defect (worksforme)

OperationalError: (1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='")

Reported by: admin Owned by:
Priority: normal Milestone:
Component: general Version: 0.12
Severity: normal Keywords:
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description

How to Reproduce

While doing a POST operation on /milestone, Trac issued an internal error.

(please provide additional details here)

Request parameters:

{'__FORM_TOKEN': u'0c63b1499bad6c024ee9ed38',
 'action': u'edit',
 'description': u'\u5728\u5730\U00026ec6\u9769\u5927\u6982\u8981\u68ee',
 'duedate': u'',
 'id': u'',
 'name': u'\u67af\u5728'}

User agent: Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

System Information

Trac 0.12
Genshi 0.6
mod_python 3.2.8
MySQL server: "5.0.77", client: "5.0.77", thread-safe: 0
MySQLdb 1.2.1
Python 2.4.3 (#1, Sep 21 2011, 20:06:00)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-51)]
setuptools 0.6c11
Subversion 1.6.11 (r934486)
jQuery 1.4.2

Enabled Plugins

SvnAuthzAdminPlugin 0.1.2.-Moved.to.Trac.0.11-

Python Traceback

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 513, in _dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 235, in dispatch
    resp = chosen_handler.process_request(req)
  File "/usr/lib/python2.4/site-packages/trac/ticket/roadmap.py", line 591, in process_request
    return self._do_save(req, db, milestone)
  File "/usr/lib/python2.4/site-packages/trac/ticket/roadmap.py", line 648, in _do_save
    new_milestone = Milestone(self.env, new_name, db)
  File "/usr/lib/python2.4/site-packages/trac/ticket/model.py", line 901, in __init__
    self._fetch(name, db)
  File "/usr/lib/python2.4/site-packages/trac/ticket/model.py", line 916, in _fetch
    cursor.execute("""
  File "/usr/lib/python2.4/site-packages/trac/db/util.py", line 65, in execute
    return self.cursor.execute(sql_escape_percent(sql), args)
  File "/usr/lib/python2.4/site-packages/MySQLdb/cursors.py", line 163, in execute
    self.errorhandler(self, exc, value)
  File "/usr/lib/python2.4/site-packages/MySQLdb/connections.py", line 35, in defaulterrorhandler
    raise errorclass, errorvalue
OperationalError: (1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='")

Attachments (0)

Change History (1)

comment:1 by Christian Boos, 10 years ago

Resolution: worksforme
Status: newclosed

A couple of problems:

  • thread-safe: 0 — that's bad
  • MySQLdb 1.2.1 — that's unsupported
  • oh, and mod_python: 3.2.8 — unsupported as well, but that's unrelated to the present problem

You obviously didn't follow the guidelines in the MySqlDb page. Please read it carefully and adapt your MySQLdb Python bindings and MySQL database tables accordingly.

That page also contain enough guidelines to help you identify which tables have the wrong utf8_general_ci and latin1_swedish_ci collations and convert it to utf8_bin, which is the only one which should be used with Trac 0.12 and up.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The ticket will remain with no owner.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from (none) to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.