Apostrophe ´ transformée en ?

Eléphant du PHP | 63 Messages

24 janv. 2010, 23:13

Bonjour tout le monde,

j'ai un soucis avec certaines apostrophes. En effet, si je colle dans un textarea un texte conteant des apostrophes ´, elles se transforment en point d'interrogation. PAr contre cela ne se produit pas avec '
Quelle est la différence entre ´ et '
J'ai essayé un str_replace("´", "'", $str) mais cela ne fonctionne pas..

Une idée ?

Merci

Le texte suivant
La soif est-elle un bon indicateur des besoins hydriques ?
Non, il ne faut pas s’y fier car ce message d’alerte arrive souvent trop tard, lorsque la déshydratation se fait déjà sentir sur la performance physique.
donne à l'écran :
La soif est-elle un bon indicateur des besoins hydriques ?
Non, il ne faut pas s?y fier car ce message d?alerte arrive souvent trop tard, lorsque la déshydratation se fait déjà sentir sur la performance physique.
Alors qu'il est enregistré en base comme:
La soif est-elle un bon indicateur des besoins hydriques ?
Non, il ne faut pas s’y fier car ce message d’alerte arrive souvent trop tard, lorsque la déshydratation se fait déjà sentir sur la performance physique.

ViPHP
ViPHP | 5462 Messages

25 janv. 2010, 00:28

ca vien du fait que c'est un caratere du charset windows-1252, et tu dois travail en iso-8859, pour reglé le probleme de compatibilié bosse en utf-8

Eléphant du PHP | 63 Messages

25 janv. 2010, 22:29

Salut,

j'utilise utf8.
Le soucis c'est que ce n'est pas moi qui fait les mises à jour. J'imagine que la personne qui les fait, fait un copier coller de word avec cette fameuse apostrophe arrondie..

Eléphant du PHP | 63 Messages

25 janv. 2010, 22:38

Ou que la personne en question a enregistré en iso-8859 ton document utf-8.

Eléphant du PHP | 63 Messages

25 janv. 2010, 22:53

Solution trouvée :

Code : Tout sélectionner

iconv("UTF-8", "ISO-8859-1//TRANSLIT", $texte)
ne marche que si la fonction iconv est activée sur le serveur

A+

Eléphant du PHP | 63 Messages

25 janv. 2010, 23:28

Tu as aussi utf8_encode et utf8_decode.

legniarf
Invité n'ayant pas de compte PHPfrance

01 juil. 2010, 00:04

J'ai essayé un str_replace("´", "'", $str) mais cela ne fonctionne pas..
Ce qui fonctionnera, c’est :
str_replace(chr(146), "'", $str);
Quelle est la différence entre ´ et '
Le code typographique préconise l’apostrophe arrondie, de même qu’il est préférable d’utiliser des “ et des ” plutôt que des ".
Pour un affichage correct de tes apostrophe arrondies, le mieux est donc de faire un :
str_replace(chr(146), "’", $str);