As far as I know:
text/
application/json
application/javascript
Is there any other commonly used type?
I think you won't be able to determine this from the MIME type. Also included in the plain text are all the language source codes, several data types, etc.
Wouldn't it be more logical to use the page encoding information, like:
<
meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-8">
If there is no charset in the header, you shouldn't decode it (though admittedly too many sites are not including the necessary information).