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);