diff --git a/.gitattributes b/.gitattributes
index 27fe022957ddaa7a8e9c6d72af13c9e0bb80c1d4..a570e3fb8058804d49dc2361681149b3236e1454 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -52,6 +52,7 @@ IMG/icones_barre/espace.png -text
 IMG/icones_barre/euro.png -text
 IMG/icones_barre/gras.png -text
 IMG/icones_barre/guillemets-simples.png -text
+IMG/icones_barre/guillemets-uniques.png -text
 IMG/icones_barre/guillemets.png -text
 IMG/icones_barre/intertitre.png -text
 IMG/icones_barre/italique.png -text
diff --git a/IMG/icones_barre/guillemets-uniques.png b/IMG/icones_barre/guillemets-uniques.png
new file mode 100644
index 0000000000000000000000000000000000000000..dfb57ab3212aed388ec421649c1d37b950f673ef
Binary files /dev/null and b/IMG/icones_barre/guillemets-uniques.png differ
diff --git a/ecrire/inc_barre.php3 b/ecrire/inc_barre.php3
index ca3b470538acc07b6ded43c207b85d0996916ac4..5b13f927034d5c4e595494d4a1bdca74d9446b5b 100644
--- a/ecrire/inc_barre.php3
+++ b/ecrire/inc_barre.php3
@@ -92,6 +92,9 @@ function afficher_barre($formulaire='',$texte='', $forum=false) {
 			$ret .= bouton_barre_racc ("javascript:barre_raccourci('«','»',$champ)", "guillemets.png", "Entourer de « guillemets français »", $formulaire, $texte);
 		}	
 		$ret .= bouton_barre_racc ("javascript:barre_raccourci('“','”',$champ)", "guillemets-simples.png", "Entourer de “guillemets”", $formulaire, $texte);
+		if (!($spip_lang == "fr" OR $spip_lang == "eo" OR $spip_lang == "cpf")) {
+			$ret .= bouton_barre_racc ("javascript:barre_raccourci('‘','’',$champ)", "guillemets-uniques.png", "Entourer de ‘guillemets simples’", $formulaire, $texte);
+		}	
 		$ret .= "   ";
 		$ret .= bouton_barre_racc ("javascript:barre_inserer('~',$champ)", "espace.png", "Insérer une espace~insécable", $formulaire, $texte);
 		if ($spip_lang == "fr" OR $spip_lang == "eo" OR $spip_lang == "cpf") {
diff --git a/ecrire/inc_filtres.php3 b/ecrire/inc_filtres.php3
index 3b9c25a7c260633d265b002e95967cca743fc755..8cdfabe685e3922708e5add3dd3f97d4ca9a7d7a 100644
--- a/ecrire/inc_filtres.php3
+++ b/ecrire/inc_filtres.php3
@@ -75,7 +75,7 @@ function corriger_caracteres($texte) {
 	if (lire_meta('charset') != 'iso-8859-1')
 		return $texte;
 	// 145,146,180 = simple quote ; 147,148 = double quote ; 150,151 = tiret long
-	return strtr($texte, chr(145).chr(146).chr(180).chr(150).chr(151), "'''".'""--');
+	return strtr($texte, chr(180).chr(150).chr(151), "'''".'""--');
 }
 
 // Transformer les sauts de paragraphe en simples passages a la ligne
diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3
index ffaf30c39776692359f8fffbf002f102b5f30336..7ff43acfc1bbccb2f0bf3b39057ffcee32410b80 100644
--- a/ecrire/inc_texte.php3
+++ b/ecrire/inc_texte.php3
@@ -344,7 +344,9 @@ function typo($letexte) {
 		$letexte = typo_fr($letexte);
 	else
 		$letexte = typo_en($letexte);
-
+		
+		
+	$letexte = ereg_replace("'", "’", $letexte);
 	$letexte = corriger_caracteres($letexte);
 	$letexte = echappe_retour($letexte, $les_echap, "SOURCETYPO");