I'm using an Arabic VTT UTF-8 subtitle file and on the tv I just see square characters. I tried the same subtitle in UTF-8 and had the same issue. I also tried a few other encodings on SRT like windows-1256 and it still had issues, didn't show squares but showed the wrong characters. On Chromecast the same VTT worked fine.
Is there something I need to do on Roku to tell how to display that subtitle? I don't think I can attach the subtitle file here, can I?
Roku doesn't support anything but Latin character sets. They do support loading your own fonts and rendering subtitles with those but that is very involved writing your own mechanism to send/receive and parse/dispaly those. The internal Roku subtitle function only supports Latin character sets. Roku has no plans on ever changing that now or in the future.
To work outside the box you have to use Google Noto. Also keep in mind Roku wants to go left->right. You want right->left so you will need to reverse your string to render correctly in Arabic. Roku is not the device for Arabic users. It is painful and complex to code for.