I've read through many of the related questions and am a bit unsure as to how to handle this situation.
The Basic Question: What is the best way to handle "foreign" (Hebrew, Greek, Aramaic?, etc.) characters in a website?
I get that I need to use UTF-8 encoding but the mechanics behind it are lost on me.
I am using tornado as my framework and am storing the data in redis. 
My current implementation is to simply store the English keyboard equivalent in the data store and then rendering on a page with the appropriate Hebrew/Greek font (e.g. Bwhebb.ttf). This has worked, for the most part, but I am bumping up against some characters which are being CGI encoded which, in turn, causes the font method to break.
Read the articles given in the comments.
Short answer though, store unicode in Redis, and if you're using Python 2.x, use unicode strings (u"") throughout. You may have to convert to unicode (unicode()) after retrieval from Redis, depending on what it gives you.
Handling foreign characters in website running on python, tornado and redis