There is no such problem. ASP.NET supports Unicode simply because all .NET strings are Unicode. Ajax is based on Javascript which also support Unicode. The only rule is: you should generate all HTML content in UTF-8 encoding (it could be with BOM or without it — does not matter), and the HTML header should have matching
http-equiv
declaration:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Unicode is also supported by all modern Web browsers. I you do not follow the encoding rule I described above, many Unicode characters will be converted to '?'. (The question is about those '?' characters, as I could understand using Google Translate.)
Now, the question is Persian language presently uses Perso-Arabic script, see
http://en.wikipedia.org/wiki/Persian_alphabet[
^]. This writing system is totally placed in
Base Multilingual Plane (BMP, code points < 0x10000 which requires 16 only bit in UTF-16, not 32 bits required by some more exotic writing systems). Also, it is popular enough to be supported by nearly all modern platforms.
I cannot speak Persian or Arabic at all, but even I had written in Persian (with the help of my colleague who knows the language well) to test my software. I'm sure you will be able to do so, too. :-)
See:
http://unicode.org/[
^],
http://unicode.org/faq/utf_bom.html[
^].
—SA