Thanks to Jungshik Shin and John Cowan for suggestions regarding UTF-8 editors!
It turns out that the version of vim that I have does indeed work under xterm for an assortment of LTR languages (Indian languages not tested), but not Arabic (the only RTL language tested) --I must have had LC_TYPE incorrectly set previously. But vim still misbehaves under mlterm -- I wonder what's so different about mlterm compared to xterm (especially since mlterm appears to handle RTL Arabic correctly?