tags:

views:

283

answers:

4

When I try and execute this code to print out an Arabic string: print("إضافة"); I get this output: إضاÙØ©. If I utf8_decode() it I'll get ?????. I have "AddLanguage ar" in my apache configuration but it doesn't help. How do i print out this Arabic string?

+3  A: 

Also set your page language to utf8 eg:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

and then see it if worked. If that still doesn't work, go and check this out, it is complete solution for the arabic language using PHP:

http://www.ar-php.org/en_index_php_arabic.html

You may want to check out this too:

http://www.phpclasses.org/browse/package/2875.html

Sarfraz
Thanks man, that was very fast.
Rook
@Michael Brooks: You are welcome :)
Sarfraz
+4  A: 

It might be necessary to indicate to the browser which charset you are using -- I'm guessing it's UTF-8.

IN order to achive that, you might try putting this portion of code at the beginning of your script, before any output is generated :

header('Content-type: text/html; charset=UTF-8');


[utf8_decode][1] will try to decode your string from UTF-8 to latin1, which is not suited for Arabic characters -- hence the '?' characters.

Pascal MARTIN
Thanks, your method works great, but the other guy was first so he got the mark :).
Rook
No problem :-) Import thing is that your problem is solved :-)
Pascal MARTIN
+1  A: 

You may want to set

default_charset = "utf-8"

in your php.ini. Default charset directive instructs the server to produce correct content type header.

You can also do it in runtime:

ini_set('default_charset', 'utf-8');
StasM
A: 

You may also want to check your browser font if it has Arabic support. Stick to common fonts like Arial Unicode and Times New Roman.

stillstanding