Skip to content
Extraits de code Groupes Projets
Valider 7e9ddbb5 rédigé par Fil's avatar Fil
Parcourir les fichiers

différents petits bugs de charset :

- pour les backend (André Vincent)
- pour mb_encode_mimeheader()
parent c34df53d
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -5,8 +5,6 @@ $delais = 3600; ...@@ -5,8 +5,6 @@ $delais = 3600;
// cette ligne empeche l'affichage des boutons d'administration // cette ligne empeche l'affichage des boutons d'administration
$flag_preserver = true; $flag_preserver = true;
@header("Content-type: text/xml");
include ("inc-public.php3"); include ("inc-public.php3");
?> ?>
...@@ -7,8 +7,6 @@ $delais = 3600; ...@@ -7,8 +7,6 @@ $delais = 3600;
$flag_preserver = true; $flag_preserver = true;
@header("Content-type: text/xml");
include ("inc-public.php3"); include ("inc-public.php3");
?> ?>
<?php echo '<'.'?xml version="1.0" encoding="#CHARSET"?'.">\n"; ?> <?php
@header('Content-type: text/xml[; charset=(#CHARSET)]');
echo '<'.'?xml version="1.0" encoding="#CHARSET"?'.">\n";
?>
<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel> <channel>
......
<?php echo '<'.'?xml version="1.0" encoding="#CHARSET"?'.">\n"; ?> <?php
@header('Content-type: text/xml[; charset=(#CHARSET)]');
echo '<'.'?xml version="1.0" encoding="#CHARSET"?'.">\n";
?>
<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel> <channel>
......
...@@ -79,6 +79,25 @@ function tester_mail() { ...@@ -79,6 +79,25 @@ function tester_mail() {
return $test_mail; return $test_mail;
} }
function nettoyer_caracteres_mail($t) {
$t = filtrer_entites($t);
if (lire_meta('charset') <> 'utf-8') {
$t = str_replace(
array("&#8217;","&#8220;","&#8221;"),
array("'", '"', '"'),
$t);
}
$t = str_replace(
array("&mdash;", "&endash;"),
array("--","-" ),
$t);
return $t;
}
function envoyer_mail($email, $sujet, $texte, $from = "", $headers = "") { function envoyer_mail($email, $sujet, $texte, $from = "", $headers = "") {
global $hebergeur, $queue_mails, $flag_wordwrap; global $hebergeur, $queue_mails, $flag_wordwrap;
include_ecrire('inc_filtres.php3'); include_ecrire('inc_filtres.php3');
...@@ -102,20 +121,19 @@ function envoyer_mail($email, $sujet, $texte, $from = "", $headers = "") { ...@@ -102,20 +121,19 @@ function envoyer_mail($email, $sujet, $texte, $from = "", $headers = "") {
"Content-Transfer-Encoding: 8bit\n"; "Content-Transfer-Encoding: 8bit\n";
$headers .= "From: $from\n"; $headers .= "From: $from\n";
$texte = filtrer_entites($texte);
$sujet = filtrer_entites($sujet);
// fignoler ce qui peut l'etre... // nettoyer les &eacute; &#8217, &emdash; etc...
if ($charset <> 'utf-8') { $texte = nettoyer_caracteres_mail($texte);
$texte = str_replace("&#8217;", "'", $texte); $sujet = nettoyer_caracteres_mail($sujet);
$sujet = str_replace("&#8217;", "'", $sujet);
}
$texte = str_replace("&mdash;", "--", $texte);
$sujet = str_replace("&mdash;", "--", $sujet);
// encoder le sujet si possible selon la RFC // encoder le sujet si possible selon la RFC
if(init_mb_string()) if (init_mb_string()) {
# un bug de mb_string casse mb_encode_mimeheader si l'encoding interne
# est UTF-8 et le charset iso-8859-1 (constate php5-mac ; php4.3-debian)
mb_internal_encoding($charset);
$sujet = mb_encode_mimeheader($sujet, $charset, 'Q'); $sujet = mb_encode_mimeheader($sujet, $charset, 'Q');
mb_internal_encoding('utf-8');
}
if ($flag_wordwrap) $texte = wordwrap($texte); if ($flag_wordwrap) $texte = wordwrap($texte);
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter