If you don't like using the Input Menu (System Preferences: International: Input Menu tab) to activate the Keyboard Viewer and Character Palette, here are two AppleScripts that do the same thing:
Keyboard Viewer: Get this script
tell application "Finder"
open item "System:Library:Components:KeyboardViewer.component:
Contents:SharedSupport:KeyboardViewerServer.app" of the startup disk
end tell
Character Palette: Get this script
tell application "Finder"
open item "System:Library:Components:CharacterPalette.component:
Contents:SharedSupport:CharPaletteServer" of the startup disk
end tell
Once the scripts are created, you can put them in your Dock, Sidebar, assign a hot key (via your favorite third-party tool), etc.
Mac OS X Hints
http://hints.macworld.com/article.php?story=20051022020253863