Every software developer needs to know the basics of character encoding. However, I find it a very dry and dull topic. So here are some entertaining introductions to it.
First, a video explaining Unicode, UTF-8, and its elegance.
Now, read this popular Joel on Software blog post: