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

petites optimisations sur la conversion utf-8

maintenant, j'attends les résultats de vos tests
parent 191ca261
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -86,10 +86,11 @@ echo "<p>"; ...@@ -86,10 +86,11 @@ echo "<p>";
// Configuration du charset // Configuration du charset
// //
$charset = $GLOBALS['meta']["charset"];
#if ($options == 'avancees') { #if ($options == 'avancees') {
debut_cadre_relief("breve-24.gif", false, "", _T('info_jeu_caractere')); debut_cadre_relief("breve-24.gif", false, "", _T('info_jeu_caractere'));
$charset = $GLOBALS['meta']["charset"];
echo _T('texte_jeu_caractere')."<p>"; echo _T('texte_jeu_caractere')."<p>";
echo "<blockquote class='spip'><p>"._T('texte_jeu_caractere_2')."</p></blockquote>"; echo "<blockquote class='spip'><p>"._T('texte_jeu_caractere_2')."</p></blockquote>";
...@@ -99,14 +100,6 @@ echo "<p>"; ...@@ -99,14 +100,6 @@ echo "<p>";
_T('bouton_radio_universel'), $charset == 'utf-8'); _T('bouton_radio_universel'), $charset == 'utf-8');
echo "<br>"; echo "<br>";
if ($charset != 'utf-8'
AND load_charset($charset)) {
echo generer_url_post_ecrire('convert_utf8');
echo "\n<div align='center'><input class='fondo' type='submit' VALUE='". _L("Convertir votre site en utf-8") ."'></div></form>";
echo "<br>";
}
echo bouton_radio('charset', 'iso-8859-1', echo bouton_radio('charset', 'iso-8859-1',
_T('bouton_radio_occidental'), $charset == 'iso-8859-1'); _T('bouton_radio_occidental'), $charset == 'iso-8859-1');
echo "<br>"; echo "<br>";
...@@ -126,9 +119,19 @@ echo "<p>"; ...@@ -126,9 +119,19 @@ echo "<p>";
#} # /avancees #} # /avancees
echo "</form>"; echo "</form>";
if ($charset != 'utf-8'
AND load_charset($charset)) {
echo generer_url_post_ecrire('convert_utf8');
echo "\n<div align='center'><input class='fondo' type='submit' VALUE='". _L("Convertir votre site en utf-8") ."'></div></form>";
echo "<br>";
}
fin_page(); fin_page();
} }
?> ?>
...@@ -112,6 +112,9 @@ function convert_utf8_dist() { ...@@ -112,6 +112,9 @@ function convert_utf8_dist() {
install_debut_html($action); install_debut_html($action);
if (!spip_get_lock('conversion_charset'))
die(_L('Attendez quelques instants et rechargez cette page.'));
// preparer un fichier de sauvegarde au cas ou // preparer un fichier de sauvegarde au cas ou
// on met 'a' car ca peut demander plusieurs rechargements // on met 'a' car ca peut demander plusieurs rechargements
$f = @fopen(_DIR_SESSIONS.'convert_utf8_backup.sql', 'a'); $f = @fopen(_DIR_SESSIONS.'convert_utf8_backup.sql', 'a');
...@@ -152,11 +155,14 @@ function convert_utf8_dist() { ...@@ -152,11 +155,14 @@ function convert_utf8_dist() {
// Mais on la transcode // Mais on la transcode
if ($charset_source != 'utf-8') { if ($charset_source != 'utf-8') {
$query = unicode_to_utf_8( $query2 = unicode_to_utf_8(
charset2unicode($query, $charset_source)); charset2unicode($query, $charset_source));
spip_query($query # ne pas up la base si l'objet n'a pas change
." AND $champ LIKE '<CONVERT %'" # eviter une double conversion if ($query2 != $query)
); spip_query($query2
# eviter une double conversion
." AND $champ LIKE '<CONVERT %'"
);
echo '. '; flush(); echo '. '; flush();
} }
} }
...@@ -166,6 +172,7 @@ function convert_utf8_dist() { ...@@ -166,6 +172,7 @@ function convert_utf8_dist() {
if ($f) fclose($f); if ($f) fclose($f);
echo _L("<p><b>C'est termin&eacute;&nbsp;!</b>"); echo _L("<p><b>C'est termin&eacute;&nbsp;!</b>");
echo _L("<p>Vous devez maintenant aller vider le cache, et v&eacute;rifier que tout se passe bien sur les pages publiques du site. En cas de gros probl&egrave;me, une sauvegarde au format SQL a &eacute;t&eacute; r&eacute;alis&eacute;e dans le r&eacute;pertoire "._DIR_SESSIONS);
effacer_meta('conversion_charset'); effacer_meta('conversion_charset');
ecrire_metas(); ecrire_metas();
......
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