2010-12-12 7 views
0

Impossible de comprendre, comment supprimer ce symbole from de la chaîne.PHP: Comment se débarrasser du symbole à l'intérieur du texte?

La chaîne est au format utf-8.

Que faire? :(

Cette chaîne supprime tout:

preg_replace('/\W/','',utf8_decode(substr(utf8_encode($ad['description']),0,125))) 

Merci;)

Mise à jour:

En utilisant: header ('Content-Type: text/html; charset = utf -8 '); Après le remplacement, utilisez exit() immédiatement.

+0

Quelle est la source de la chaîne ad ['description']? Et quel jeu de caractères est-il encodé? – mmccomb

+0

N'oubliez pas d'utiliser le modificateur '/ u' si vous appliquez des regex à des chaînes Unicode. –

Répondre

3

U + FFFD CARACTÈRE DE REMPLACEMENT est utilisé lorsque le caractère n'a pas de représentation dans le codage de jeu de caractères en cours. Déclarez vos encodages correctement comme UTF-8 et utilisez des chaînes UTF-8 et il n'apparaîtra pas sur la plupart des plates-formes.

0

vous pouvez essayer utf8_decode ('chaîne'); ou utf8_encode ('chaîne');

mais vous devriez vraiment essayer de trouver le problème actuall assurez-vous que les en-têtes sont réglées correctement, type de document et que le texte est codé dans le format lors de l'enregistrement ou ce qui ne

1

Le problème ici est que votre chaîne est et non au format utf-8. Vous faites semblant et manipulez les données en conséquence, mais la chaîne contient probablement des caractères Ansi. Vous n'avez pas seulement besoin de passer l'en-tête Content-Encoding = utf-8, mais votre contenu doit également être converti en utf-8 avant d'être envoyé.

Questions connexes