2010-02-22 9 views
3

Lorsque j'essaie d'exécuter ce code pour imprimer une chaîne arabe: print("إضافة"); Je reçois cette sortie: إضاÙØ©. Si je utf8_decode(), je vais obtenir ?????. J'ai "AddLanguage ar" dans ma configuration d'apache mais cela n'aide pas. Comment imprimer cette chaîne arabe?PHP print() Chaîne arabe

Répondre

9

également configurer la langue page UTF8 par exemple:

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

puis voir si travaillé. Si cela ne fonctionne toujours pas, allez vérifier, il est une solution complète pour la langue arabe en utilisant PHP:

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

Vous pouvez vérifier cela aussi:

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

+0

Merci homme, qui était très rapide. – rook

+0

@ Michael Brooks: Vous êtes les bienvenus :) – Sarfraz

7

Il peut être nécessaire d'indiquer au navigateur quel charset vous utilisez - je suppose que c'est UTF-8.

afin de achive, vous pouvez essayer de mettre cette partie de code au début de votre script, avant toute sortie est générée:

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


[ utf8_decode ][1] va essayer de décoder votre chaîne de UTF-8 à latin1, qui n'est pas adapté pour les caractères arabes - d'où les caractères '?'.

+0

Merci, votre méthode fonctionne très bien, mais l'autre gars était le premier, donc il a obtenu la marque :). – rook

+1

Pas de problème :-) Importer chose est que votre problème est résolu :-) –

+0

@PascalMARTIN merci, après avoir cherché pendant des heures, votre réponse m'a aidé à résoudre mon problème –

1

Vous pouvez définir

default_charset = "utf-8" 

dans votre php.ini. La directive Default charset indique au serveur de produire un en-tête de type de contenu correct.

Vous pouvez aussi le faire dans l'exécution:

ini_set('default_charset', 'utf-8'); 
0

Vous pouvez également vérifier votre police du navigateur si elle a le soutien arabe. Stick à des polices communes comme Arial Unicode et Times New Roman.

0

Eh bien,

Première: Ajouter au début de la page HTML

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

seconde: si vous utilisez des données encodent AJAX en utilisant encodeURIComponent

Troisième: Première ligne de votre page PHP devrait être

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

et décoder les données envoyées à l'aide de PHP urldecode

Cordialement,

+0

aussi, si vous utilisez Oracle comme DB utiliser la chaîne de connexion suivante : $ connect = oci_connect ($ UserName, $ Password, $ db_name, 'AL32UTF8'); –