Este problema surgió con las mejoras en el manejo de la codificación por parte de GDAL. Se discutió ici en la lista maestra de qgis. En esa discusión se sugieren algunas soluciones. Estoy seguro de que una solución permananet aparecerá pronto, pero lo que he encontrado resuelve el problema por ahora es la sugerencia de Even Rouault:
En primer lugar, es necesario que todos los atributos de texto del shapefile estén codificados como UTF-8. A continuación, añadir al archivo por lotes que se inicia QGIS (por lo general OSGEO4W \bin\qgis.bat ) una línea para establecer una variable de entorno:
SET SHAPE_ENCODING=UTF-8
Con eso, puedes guardar cadenas de texto (en mi caso en hebreo, pero supongo que en árabe será igual) sin que se conviertan en signos de interrogación.