2009-07-12 11 views
1

Zeichen wie "š" wenn gesendet in einem POST-Parameter und echo'd kommen als %u015F - jetzt weiß ich, dass ein Hexadezimalwert des HTML-Unicode-Zeichen - dh ş Aber wie gehe ich vor, um diese zu konvertieren?% u Problem in PHP

Ich habe Zeichensätze auf UTF-8 gesetzt und ich habe mit ISO-Zeichensätzen ohne Glück experimentiert.

Danke!

+0

Nur um klar zu sein, ich möchte die Ausgabe zu sein & # 3 5 3; - Die obige Frage wurde in das Zeichen ş umgewandelt – Sledge

Antwort

0

habe ich noch nie gesehen, dass ein Client %u015F anstelle der UTF-8 kodierten %C5%9F senden würde. Aber versuchen Sie das:

preg_replace('/%u([0-9a-fA-F]{2})([0-9a-fA-F]{2})/e', 'mb_convert_encoding("\x$1\x$2", \'UTF-8\', \'UTF-16BE\')', $str) 
1
htmlentities(urldecode($string))