After playing around with RMVXA, turns out that the font VL Gothic (which is the default font for all new projects) doesn't support Arabic characters. Changing the Font.default_name to Tahoma (or any other font that supports Arabic characters) fixes that.
Thus all you really need to do is go to Main and put this line just above the "rgss_main"
Font.default_name = ["Tahoma", "PLUS ANY OTHER FONTS THAT SUPPORT ARABIC", "SEPARATED BY COMMAS OF COURSE"]
Clearly, RMVXA's Editor has Unicode support (finally) while RMXP's does not. If you are asking for a script that makes the Show Message command NOT convert the characters to question marks, we need to have a long talk about what exactly you can do with scripts.
EDIT:
This is about as helpful as a script will get
module Arabic
@all_arabic_strings ={
#---------------------------------------------------------------------------
# Begin Configuration
#---------------------------------------------------------------------------
"1" => "ﺏﺮﻌﻤﻟﺍ",
"2" => "ﺏﺮﻌﻤﻟﺍ",
"System" => "ﺏﺮﻌﻤﻟﺍ"
#---------------------------------------------------------------------------
# End Configuration
#---------------------------------------------------------------------------
}
def self.text(key)
@all_arabic_strings[key]
end
end
class Window_Message < Window_Selectable
alias refresh_for_arabic refresh
def refresh
if $game_temp.message_text != nil
$game_temp.message_text.gsub!(/\\[Aa]\[(.+)\]/) { Arabic.text($1) }
end
refresh_for_arabic
end
end
In between the rectangles for configuration, assign a keyword on the left to correspond to the actual Arabic sentence/word on the right. Just follow the example I provided. Then, in a Show Text command, you can do
And this will print out your Arabic characters. Note this only applies to the Message Window and nothing else in the game.