I have problem with subtitle in Persian/Farsi using all good video players.

I have tested all reading options formats (all different area and language to read), but all did not work. I can type Farsi, but it can not show subtitle to Farsi.

  • What's the subtitle format? SRT? – David Foerster May 1 '17 at 20:14

If you have VLC may be I can help you.

Go to VLC:

  1. Click Tools and next Preferences
  2. Click Subtitle & OSD
  3. In section Subtitle Language and Default encoding
  4. Select Arabic (Windows-1256)
  5. In section font select the Tahoma font
  • 1
    Thank you Mahdi, I use this on SMPlayer. but for last part "5", I Push the "Enable Normal Subtitles" button, Really worked, THANKS. – Ali Jun 6 '12 at 20:59

Other way you may change subtites files encoding to UTF-8

I've experienced this before, and I found it's because of subtitles' font, use Subtitle Editor to edit your subtitle's font!

You can get Subtitle Editor two ways, Download from it's house http://home.gna.org/subtitleeditor/ or via PPA.

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install subtitleeditor
  • Right click on subtitle → open with → Subtitle Editor
  • Then Tools → Style Editor, and there you can change your subtitle's font.



This is very simple using VLC :

  1. Go to Edit Menu
  2. Click on Preferences
  3. Change encoding to Arabic(Windows-1256)
  4. Change the Font to a Persian Font (I prefer B Nazanin)


  • 1
    i use vlc , so this is about VLC – HOS Oct 29 '14 at 6:24

control panel>Region>Administrative(tab)> change system local> change the current system location into Persian -> it may require restart your computer and when it did everything will look the same, but you can watch Persian subtitles just fine have fun ;)

if that didn't work and your using KMplayer: right click on main screen of kmplayer and go to: Option>preferences> in the left menu of the window select "subtitle processing" and in sub menus opened hit "font style" in the right side find the "charset" and change the box beside it to "Arabic"

that must do it

  • Change the system locale: The system locale determines the default character set (letters, symbols, and numbers) and font used to enter and display information in programs that don't use Unicode. This allows non-Unicode programs to run on your computer using the specified language. – shirin Sep 7 '15 at 4:33

This is a Python3 code for converting Persian/Farsi subtitles into the ones with UTF-8 encoding.

def correctSubtitleEncoding(filename, newFilename, encoding='windows-1256'):
    with open(filename, 'r', encoding=encoding) as fr:
        with open(newFilename, 'w', encoding='utf-8') as fw:
            for line in fr:

It`s really simple. Go to the Text Editor program in Ubuntu or other distro and click "open". Then select the target subtitle and before clicking open in the bottom of the window you see "Character Encoding". Select "Arabic(Windows-1256)" from the list. (If it does not exist click add/remove).After opening, you will see the correct text encoding. You should just save as the file with UTF-8 encoding and enjoy it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.