Trac is a powerful web-tool for managing projects. It combines a Wiki, trouble tickets and repository browsing into one powerful package with stunning features.
In the present case, we have a Bugzilla database created with a charset of latin1. Unfortunately, now after updating MySQL to 4.1, error occured when trying to assign a new developer to a bug, indicating mismatch of collations (UTF-8 vs. Latin1). This is caused by the fact that there is now latin1-data stored in an UTF-8 table.
The following procedure can be used to upgrade the database to UTF-8, eliminating the problem:
mysqldump -p --default_character-set=latin1 --skip-set-charset bugs > dump.sql
mysql -p --execute="DROP DATABASE bugs; CREATE DATABASE bugs CHARACTER SET utf8 COLLATE utf8_general_ci;"
mysql -p --default-character-set=utf8 bugs < dump.sql
perl -pe 's/latin1_bin/utf8_general_ci/g; s/latin1/utf8/g' dump.sql > dump-utf8.sql
mysql -p --default-character-set=utf8 bugs < dump-utf8.sql
You should of course always check if the Pearl-RegEx only replaced charset declarations and not some matches within the data.
Thanks to TextSnippets for the script.
As you might have guessed from previous posts, I’m currently in the process of implementing a single-sign-on scenario within our network. Or, at least, I’m trying to have at least one single username/password combo for all internal services. Authentication is therefore realized against an Active Directory, based on a Microsoft Windows 2003 Server.