PHP print () Arabisch Zeichenfolge
Frage
Wenn ich versuche, diesen Code auszuführen, der eine arabische Zeichenfolge drucken: print("إضافة");
ich diese Ausgabe erhalten: إضاÙØ©
. Wenn ich utf8_decode () Ich werde es ?????
bekommen. Ich habe „AddLanguage ar“ in meiner Apache-Konfiguration, aber es hilft nicht. Wie drucke ich diese arabische Zeichenfolge aus?
Lösung
Auch stellen Sie Ihre Seite Sprache utf8 zB:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
und sehen Sie es dann, wenn gearbeitet. Wenn das immer noch nicht funktioniert, geht und diese heraus überprüfen, es ist Komplettlösung für die arabische Sprache mit PHP:
http://www.ar-php.org/en_index_php_arabic.html
können Sie möchten diese auch prüfen:
Andere Tipps
Es könnte notwendig sein, um den Browser, um anzuzeigen, welche charset Sie verwenden. - Ich bin es UTF-8 erraten
Um das achive, Sie könnten versuchen, diesen Teil des Codes am Anfang des Skripts setzen, bevor eine Ausgabe erzeugt wird:
header('Content-type: text/html; charset=UTF-8');
[
utf8_decode][1]
werden versuchen, Ihre String von UTF-8 in latin1 zu dekodieren, die nicht für arabische Schriftzeichen geeignet ist -. Daraus ergibt sich die '?'
Zeichen
Sie können festlegen möchten
default_charset = "utf-8"
in Ihrem php.ini
. Standard charset Direktive weist den Server korrekten Inhaltstyp-Header zu erzeugen.
Sie können es auch in der Laufzeit tun:
ini_set('default_charset', 'utf-8');
Sie können auch Ihren Browser überprüfen Schrift wollen, wenn es arabische Unterstützung. Halten Sie sich an gängige Schriftarten wie Arial Unicode und Times New Roman.
Nun,
Erstens: In von Anfang HTML-Seite
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Sekunde: wenn Sie mit AJAX kodieren Daten mit encodeURIComponent
Drittens: Erste Zeile Ihrer PHP-Seite sein sollte
header('Content-Type: text/html; charset=utf-8');
und dekodieren die Daten an PHP gesendet mit urldecode
Grüße,