PHP print() Arabic string

ぃ、小莉子 提交于 2019-12-20 02:18:11

问题


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?


回答1:


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




回答2:


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.




回答3:


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');



回答4:


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.




回答5:


Well,

First: Add by the beginning of HTML page

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

second: if you are using AJAX encode data using encodeURIComponent

Third: First line of your PHP page should be

header('Content-Type: text/html; charset=utf-8'); 

and decode the data sent to PHP using urldecode

Regards,



来源:https://stackoverflow.com/questions/2309496/php-print-arabic-string

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!