php print () chaîne arabe
Question
Lorsque je tente et exécuter ce code pour imprimer une chaîne arabe: print("إضافة");
Je reçois cette sortie: إضاÙØ©
. Si j'utf8_decode (), je vais ?????
. Je « ar AddLanguage » dans ma configuration apache, mais il ne permet pas. Comment puis-je imprimer cette chaîne arabe?
La solution
Définissez également la langue de votre 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:
Autres conseils
Il pourrait être nécessaire d'indiquer au navigateur qui charset que vous utilisez -. Je devine que ce 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 ne convient pas pour les caractères arabes -. d'où les caractères '?'
Vous pouvez définir
default_charset = "utf-8"
dans votre php.ini
. par défaut charset directive indique au serveur de produire en-tête de type de contenu correct.
Vous pouvez aussi le faire dans l'exécution:
ini_set('default_charset', 'utf-8');
Vous pouvez également vérifier votre police du navigateur si elle a le soutien arabe. Tenez-vous à des polices communes comme Arial Unicode et Times New Roman.
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 d'encodage AJAX en utilisant encodeURIComponent
Troisième: La première ligne de votre page PHP doit être
header('Content-Type: text/html; charset=utf-8');
et décoder les données transmises à l'aide de PHP urldecode
Cordialement,