I faced that issue before, using Liferay POrtal, after I import lar file, any Arabic character and any special character like "♦" ruined to be question mark "?", and when I check Database, i see its stored like that too, I mean "?" .
Its explained here : Import .lar file issue on Encoding with Glassfish as Application Server
adding -DFile.encoding=UTF8 does not helped me.
AND Using Liferay itself with Arabic has no issues (like adding web content), retrieving data from DB is working well.
These days, I'm doing upgrade from liferay 5.2.8 to 6.1.20, i faced that issue again, all Arabic characters touched with upgrade (extracted to temp directory as a temp file then re-inserted to DB) got corrupted..
So its seemed to me this is issue with file system with Glassfish.
I tried Tomcat 7.0 and this issue not happened, and my data survived, but i need to solve it in Glassfish Application Server.
FYI: same issue with Glassfish v2.1.1 , v3.1.2.2 , and ML versions.
Any idea?