Reputation: 3
I migrated from Request Tracker 3.8 to 4.2 with existing db and now I can't create new tickets that contain umlauts and that sort of characters in subject:
Couldn't create a ticket: Internal Error: Couldn't execute the query 'INSERT INTO Tickets (Resolved, Created, Status, LastUpdatedBy, Subject, Type, InitialPriority, FinalPriority, SLA, Starts, Queue, Due, Creator, Started, Priority, LastUpdated) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'Incorrect string value: '\xE4\xE4' for column 'Subject' at row 1
The db already holds special characters and when I check character name set then everything seems to be as it should be(?):
mysql> SELECT character_set_name FROM information_schema.`COLUMNS` WHERE
table_schema = "rt4" AND table_name = "Tickets" AND column_name =
"Subject";
+-------------->------+
| character_set_name |
+--------------------+
| utf8 |
+--------------------+
1 row in set (0.00 sec)
So, what exactly is it that RT4 is trying to insert into db?
Upvotes: 0
Views: 321
Reputation: 601
For upgrades from older RT and older MySQL, there are some extra steps to handle changes in the way the database handles encodings. These steps are detailed in this upgrading document. If you can redo your upgrade with these steps, it may resolve your issue.
Upvotes: 0
Reputation: 142375
Apparently, the bytes that were put into the 5th ?
were encoded in latin1, yet you said they were utf8. Since E4E4 is not a valid utf8 encoding for anything, the error happened.
See "Best practice" in Trouble with utf8 characters; what I see is not what I stored I can't tell from the limited information how many of the steps were not followed.
Upvotes: 0