I have data in GeoJSON that contains Arabic in some attribute when reading the attribute
I get this:
OpenLayers 2 does not have any problems with arabic characters, see e.g. this fiddle.
However, you will need to specify the correct character encoding in your HTML file, something like:
<html> <head> <meta charset="utf-8"> ... <head> <body> ... </body> </html>
Also make sure your files are indeed in UTF-8 encoding, of course.