Unless you use a Unicode font, console applications will use the codepage defined by the machine's System locale. You can either change your system locale to one that supports Urdu or change the console's font to a Unicode font.
The '?' characters appear when Windows tries to display characters from one codepage using a codepage that has no corresponding characters for the original ASCII codes. Weird characters may appear when the target ASCII code exists but corresponds to a different glyph.