Depending if you hardcode or not your special language character or not. If you only input unicode into field by the mean of your app you should not have to pay attention, web2py will handle the differents languages. But if you defined you alphabets in differents languages as constant type variable in your code base you may need decode/encode from unicode.
I am not an expert in encoding and how works web2py at this level, but by default web2py use python 2.7 byte or str type... If it get a none ASCII character it get store in str in utf-8 hexadecimal representation for characters that can't be support by ASCII...
So the best way to avoid any issue with encoding in web2py is to always use plain ascii in your code base...
If you can't, you have different option, for alphabet you can generate them with chr and ord
or you can use unicode:
var = u'unicode string'.decode(yourencoding).encode('utf-8')
Hope it helps and I didn't make error in my explanation.
Cheer
Richard