In Sublime Text 3, unicode characters are not shown correctly. In gedit it works fine. I tried saving the document as UTF-8, Tried setting default encoding to UTF-8 but still its not working. I even tried changing the font. Please check this picture :
The top word is the correct form. But sublime is showing it differently (like the word in the bottom). How can I fix this?
Sublime doesn't support Complex Text Layout at all I'm afraid. That means you don't even get proper Arabic or Hebrew, let alone Sinhala.
Hopefully this will be added some day but it's not a straightforward feature. As Sublime is focused on code rather than natural language it might not be amongst the author's priorities.
Go to Preferences > Settings > User.
Add this setting:
"default_encoding" : "utf-8",
Sublime Text 3 should support many utf-8 locales now.
If Xuwei Khan's answer doesn't work for you, then use this command:
iconv -f Windows-1253 -t utf-8 input.txt > output.txt
Or replace Windows-1253
with an an other iso locale suitable for your language needs.