J'ai la chaîneproblème unicode preg_replace en php
$result = "bei einer Temperatur, die etwa 20 bis 60°C unterhalb des Schmelzpunktes der kristallinen Modifikation"
qui vient directement d'une table MySQL. Le tableau et les en-têtes de php sont tous deux en UTF-8
Je veux enlever le symbole « degré »: http://en.wikipedia.org/wiki/Degree_symbol et le remplacer par le mot « degrés » pour obtenir:
« bei einer Temperatur, Je ne peux pas le faire fonctionner avec preg_replace.
Si je fais:
$result = preg_replace('/\xB0/u'," degrees ", $result); - I get an empty string
Et si je fais ::
$result = preg_replace('/\u00B0/u'," degrees ", $result); - I get the error:
Attention: preg_replace() [function.preg-remplacerai]: Compilation a échoué: PCRE ne supporte pas \ L , \ l, \ N, \ U, ou \ u à décalage 1 dans /var/www/html/includes/classes/redeyeTable.inc.php à la ligne 75
Je ne suis pas génial avec les encodages ... qu'est-ce que je fais mal ici?
La première solution que vous publiez fonctionne parfaitement pour moi. – Sjoerd
Selon cette page (et votre message d'erreur BTW), vous ne pouvez pas utiliser http://fr.php.net/manual/fr/reference.pcre.pattern.differences.php – greg0ire
Etes-vous sûr d'avoir le même symbole? Unicode a beaucoup de caractères similaires. – Kobi