How to deal with utf-8 encoding ?

I just upgraded my preferred linux distribution but now I have warnings about utf-8. I have a warning when starting digiKam about new character encoding. What should I do ?


Nowadays, most linux distributions use utf8 by default for the character encoding. It includes the content of files, but also the file names.
Look here to learn more about utf-8 and unicode :
http://en.wikipedia.org/wiki/UTF-8

Digikam will warn you when you change your locale with a new encoding. Eg, if you switched from iso latin1 (iso8859-1) to utf8, digiKam will send you this warning :

Your locale has changed from the previous time this album was opened.
Old Locale : ISO 8859-1, New Locale : UTF-8
This can cause unexpected problems. If you are sure that you want to 
continue, click on 'Yes' to work with this album. Otherwise, click on 'No' 
and correct your locale setting before restarting digiKam

Before accepting this modification, you should migrate at least the file names in your albums to utf-8 or you might have troubles because digikam won't be able to access directories which contains accents non encoded in utf-8.
For that purpose, linux distributions propose various solutions and tools, but mainly based on convmv :

Gentoo
Gentoo has a very nice page about using UTF-8 :
Using UTF-8 with Gentoo
This could also be useful for users of other distributions.

Mandriva
For Mandriva 2007, it seems that the same convmv can be applied. Mandriva provide also a script in their Mandriva 2007 Errata page.
There is also a french page to explain how to convert the filename and the content of the files to utf-8.

Suse
There's a FAQ entry about that : Converting filenames to UTF-8 encoding
There are also some informations here : Converting file names (part of CJK Support in SuSE Linux)

Ubuntu
With ubuntu, there's a migration tool written in python to do the job : utf8-migration-tool package

Other unix or linux operating systems
The most used tool to do that is convmv (written in perl)
Eg (try it first in a test directory and backup everything before!) :
convmv --notest -r -f latin1 -t utf-8