4 Stimmen

Senden von arabischen Zeichen in der URL

Ich habe diese arabischen Sätze:

Sie muss in der Url gesendet werden. Ich habe diesen Ansatz versucht:

$url = 'http://example.com/?q='.urlencode('          ');

Das Ergebnis dieser Kodierung ist: %D9%86%D8%A7%D9%8A%D8%AA%D9%8A%D8%AF+%D8%A3%D9%85%D8%A7%D9%85%D9%87+%D8%B9%D8%B4%D8%B1%D8%A9+%D8%A3%D9%8A%D8%A7%D9%85+%D9%81%D9%82%D8%B7+%D9%84%D9%83%D9%8A+%D9%8A%D9%82%D8%B1%D8%B1+%D9%85%D8%B3%D8%AA%D9%82%D8%A8%D9%84+%D8%A8%D8%B1%D8%A8%D8%A7%D8%AA%D9%88%D9%81+%D9%81%D9%8A+%D8%A7%D9%84%D9%86%D8%A7%D8%AF%D9%8A

Das PHP-Skript empfängt dies jedoch im Querystring $_GET['q']:

    Ù    Ù Ù 

Die php-Datei ist UTF-8 kodiert. Irgendwelche Ideen?

4voto

Alex van den Hoogen Punkte 744

Sie müssen Ihre verschlüsselten Entitäten urldecodieren. Bedenken Sie außerdem, dass UTF8 und PHP keine gute Kombination sind.

3voto

usama sulaiman Punkte 1989

Wie ich in einer anderen Frage erwähnt habe, sollten Sie den arabischen Text urlencode

urlencode('-')

Und es ist sehr wichtig, den Zeichensatzcode in den Head-Tag der Seite einzufügen, sonst funktioniert der Link nicht.

<meta charset="utf-8">

1voto

ahmadMarafa Punkte 1286

Verwenden Sie nicht urlencode, sondern rawurlencode

0voto

Issa Lafi Punkte 345

Wie ich in einer anderen Frage erwähnt habe, sollten Sie Folgendes tun urldecode den arabischen Text in URI

echo urldecode(explode('?', $_SERVER['REQUEST_URI'], 2));

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X