Converting Database Character Sets

I have a blog that I manage that I imported a few years ago onto my server. The previous host had used Fantastico to auto-intall WP and unfortunately this previous database was affected by the character set bug that affects some of the Fantastico auto-installs and the data set was collated as latin1_swedish_ci. When we imported the SQL file, we inadvertently imported this as the default setting.

Normally this isn't a problem, but the blogger now wants to start using Greek and Hebrew characters in his blog, which latin1_swedish_ci doesn't recognize. Type in the special characters and it truncates it ???????. The solution to the problem is to convert the database character set from latin1_swedish_ci to utf8_general_ci, both the default as well as retroactively.

In reading around the interwebs on doing this, I've not reached a place where I feel 100% confident in managing this. The WP Codex on converting character sets calls it 'voo-doo code'. From the context I can't tell if that's voo-doo = 'powerful' or voo-doo = 'mysterious and difficult to control'. So here's a few specific questions for the wpmudev community:

- Anyone have any specific insight or guidance on how to do this?
- If I change the db defaults to the desired charset, will future posts and entries be done in that charset, thus solving the problem going forward?
- Is a retroactive charset conversion safe if using the write sql commands?
- Any specific hazards to watch out for?
- The major tables I'm interested in fixing are wp_posts and wp_comments, but there are over 6000 posts and over 48000 comments. Does the size of the tables pose any challenges for time-out issues or the like?

Thanks for the help!